本文實例講述了Javascript與PHP驗證用戶輸入URL地址是否正確的方法,分享給大家供大家參考。具體方法如下:
1.javascript檢測URL地址有效性:
復制代碼 代碼如下:<script type="text/javascript">
function checkUrl() {
var url = document.getElementById('url').value;
if (url==''){
alert('URL 地址不能為空');
return false;
} else if (!isURL(url)) {
alert('URL 的格式應該是 http://www.bkjia.com');
return false;
} else {
return true;
}
return false;
}
function isURL(str)
{
//varreg=/[0-9a-zA-z]+.(html|htm|shtml|jsp|asp|php|com|cn|net|com.cn|org)$/;
//必須包含.(最後面一個.前面最少有一個字符)且.後面最少有一個單詞字符,最後一個字符必須為單詞字符或/
varreg=/w+.(w+|w+/)$/;
varisurl=reg.test(str);//test(str)方法是js正確表達式內置的對象可以直接調用
returnisurl;
}
</script>
<form action="" method="post" onsubmit="checkUrl();">
URL:
<input type="text" name="url" id="url" value="http://www.bkjia.com" onfocus="this.value=''"/>
<br /><br />
<input type="submit" value="獲取地址" name="get"/>
<input type="submit" value="下載" name="download"/>
</form>
2.PHP檢測URL地址有效性
復制代碼 代碼如下:<?
function is_url($str){
return preg_match("/^http://[A-Za-z0-9]+.[A-Za-z0-9]+[/=?%-&_~`@[]':+!]*([^<>"])*$/", $str);
}
?>
如果要嘗試是否可以正常方法我們可使用file_get_contents()函數來驗證就可以了。
希望本文所述對大家的PHP程序設計有所幫助。
驗證碼一般都是在服務器隨機產生,在html頁面用ajax獲取驗證碼來和用戶輸入的驗證碼進行比較
<script type="text/javascript">
var xmlHttp;
function createXMLHttpRequest()
{
if(window.ActiveXObject)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest)
{
xmlHttp=new XMLHttpRequest();
}
}
function doit()
{
createXMLHttpRequest();
xmlHttp.onreadystatechange=handleStateChange;
xmlHttp.open("get","auth_code.php",true);
xmlHttp.send(null);
}
function handleStateChange()
{
if(xmlHttp.readyState==4)
{
if(xmlHttp.status==200 || xmlHttp.status==0)
{
checkAuthCodeInput(xmlHttp.responseText);
}
}
}
function checkAuthCodeInput(authcode)
{
if(document.getElementById("自定義").value==auth)
{
return true;
}
return false;
}
</script>
<img src="auth_code.php" id="img_auth_code"/>
<a href="document.getElementById('img_auth_code').src='auth_code.php?code='+Math.random();">看不清,再換一張</a>
//該頁面用於隨機獲取驗證碼rand_auth_code.php
<?php
function get_auth_code()
{
for($i=0;$i<5;$i++)
{
$_GLOBALS['rand_str'].=strtoupper(dechex(rand(0,15)));
rand_str_width+=imagefontwidth($i);
}
}
echo $_GLOBALS['rand_str'];
?>
<?php
include_once("rand_auth_code.php");//導入產生驗證碼的頁面
$img_width=100;
$img_height=25;
$img=imagecreatetruecolor($img_width,$img_height);
$img_bg_col......余下全文>>
頁面連接數據庫的地方是不是有問題 , 建議你最好換個方法