亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

JavaScript 表單驗(yàn)證

JavaScript 表單驗(yàn)證


JavaScript 表單驗(yàn)證

JavaScript 可用來(lái)在數(shù)據(jù)被送往服務(wù)器前對(duì) HTML 表單中的這些輸入數(shù)據(jù)進(jìn)行驗(yàn)證。

表單數(shù)據(jù)經(jīng)常需要使用 JavaScript 來(lái)驗(yàn)證其正確性:

驗(yàn)證表單數(shù)據(jù)是否為空?

驗(yàn)證輸入是否是一個(gè)正確的email地址?

驗(yàn)證日期是否輸入正確?

驗(yàn)證表單輸入內(nèi)容是否為數(shù)字型?

必填(或必選)項(xiàng)目

下面的函數(shù)用來(lái)檢查用戶是否已填寫表單中的必填(或必選)項(xiàng)目。假如必填或必選項(xiàng)為空,那么警告框會(huì)彈出,并且函數(shù)的返回值為 false,否則函數(shù)的返回值則為 true(意味著數(shù)據(jù)沒(méi)有問(wèn)題):

function validateForm()
{
var x=document.forms["myForm"]["fname"].value;
if (x==null || x=="")
{
alert("姓必須填寫");
return false;
}
}

以上函數(shù)在 form 表單提交時(shí)被調(diào)用:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<head>
<script>
function validateForm(){
var x=document.forms["myForm"]["fname"].value;
if (x==null || x==""){
  alert("姓必須填寫");
  return false;
  }
}
</script>
</head>
<body>    
<form name="myForm" action="demo-form.php" onsubmit="return validateForm()" method="post">
姓: <input type="text" name="fname">
<input type="submit" value="提交">
</form>  
</body>
</html>

E-mail 驗(yàn)證

下面的函數(shù)檢查輸入的數(shù)據(jù)是否符合電子郵件地址的基本語(yǔ)法。

意思就是說(shuō),輸入的數(shù)據(jù)必須包含 @ 符號(hào)和點(diǎn)號(hào)(.)。同時(shí),@ 不可以是郵件地址的首字符,并且 @ 之后需有至少一個(gè)點(diǎn)號(hào):

function validateForm(){
var x=document.forms["myForm"]["email"].value;
var atpos=x.indexOf("@");
var dotpos=x.lastIndexOf(".");
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length){
alert("不是一個(gè)有效的 e-mail 地址");
return false;
}
}

下面是連同 HTML 表單的完整代碼:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<head>
<script>
function validateForm(){
    var x=document.forms["myForm"]["email"].value;
    var atpos=x.indexOf("@");
    var dotpos=x.lastIndexOf(".");
    if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length){
        alert("不是一個(gè)有效的 e-mail 地址");
        return false;
    }
}
</script>
</head>
<body>    
<form name="myForm" action="demo-form.php" onsubmit="return validateForm();" method="post">
Email: <input type="text" name="email">
<input type="submit" value="提交">
</form>    
</body>
</html>


繼續(xù)學(xué)習(xí)
||
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>表單驗(yàn)證</title> <script type="text/javascript"> //校驗(yàn)輸入 function checkInput(){ var flag=false; var username=$("username").value; var pwd=$("pwd").value; var repwd=$("repwd").value; var email=$("email").value; if(username==""){ alert("用戶名不能為空!"); }else if(pwd==""){ alert("密碼不能為空!"); }else if(pwd.length<6){ alert("密碼必須大于6位"); }else if(pwd!=repwd){ alert("密碼不一致!"); }else if(email.indexOf("@")==-1 ||email.indexOf(".")==-1){ alert("郵箱格式不正確!"); }else{ flag=true; } //限定用戶名不能包含數(shù)字 for(var i=0;i<username.length;i++){ var s=username.substring(i,i+1); if(!isNaN(s)){ alert("用戶名不能包含數(shù)字!") return false; } } return flag; } //獲取焦點(diǎn)時(shí)清除原內(nèi)容 function clearUsername(){ var username=$("username"); username.style.border="1px solid #f00"; if(username.value=="請(qǐng)輸入正確的用戶名"){ username.value=""; } } //失去焦點(diǎn)時(shí)檢驗(yàn)用戶名 function checkUsername(username){ username.style.border=""; if(username.value==""){ $("usernameinfo").style.font="normal 15px 宋體"; $("usernameinfo").style.color="#f00"; $("usernameinfo").innerHTML="用戶名不能為空"; username.focus(); }else if(username.value.length>14||username.value.length<6){ $("usernameinfo").style.font="normal 15px 宋體"; $("usernameinfo").style.color="#F00"; $("usernameinfo").innerHTML="用戶名長(zhǎng)度必須在6-14之間!"; //username.select();//此代碼在IE和Chrome中好使,在Firefox中不好使 //匿名函數(shù) setTimeout(function(){username.select();},0); }else{ $("usernameinfo").innerHTML=""; } } function $(id){ return document.getElementById(id); } </script> </head> <body> <form action="success.html" method="post" onsubmit="return checkInput();"> <table border="0" cellpadding="0" cellspacing="0" width="600px"> <tr> <td align="right">用戶名:</td> <td><input type="text" name="userbname" id="username" value="請(qǐng)輸入正確的用戶名" onfocus="clearUsername()" onblur="checkUsername(this)"/><span id="usernameinfo"></span></td> </tr> <tr> <td align="right">密碼:</td> <td><input type="password" name="pwd" id="pwd"/></td> </tr> <tr> <td align="right">確認(rèn)密碼:</td> <td><input type="password" name="repwd" id="repwd"/></td> </tr> <tr> <td align="right">電子郵箱:</td> <td><input type="text" name="email" id="email"/><br/></td> </tr> <tr> <td></td> <td>  <input type="submit" value="注冊(cè)"/>  <input type="reset" value="重置"/></td> </tr> </table> </form> </body> </html>
提交重置代碼