JS簡(jiǎn)單表單驗(yàn)證功能完整示例
本文實(shí)例講述了JS簡(jiǎn)單表單驗(yàn)證功能。分享給大家供大家參考,具體如下:
簡(jiǎn)單js表單驗(yàn)證demo
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Document</title>
<script>
//當(dāng)用戶名獲取焦點(diǎn)時(shí)
function focus_username(){
document.getElementById("user_res").innerHTML="<font color='#f00'>請(qǐng)輸入用戶名</font>";
}
//當(dāng)用戶名失去焦點(diǎn)時(shí)
function blur_username(){
var user_value=document.getElementsByName("username")[0].value;
if(user_value.length===0){
document.getElementById("user_res").innerHTML="<font color='#f00'>你沒(méi)有輸入用戶名</font>";
return false;
//判斷其長(zhǎng)度是否在5~18之間 如果不在就提示用戶
}else if(user_value.length<5||user_value.length>18)
{
document.getElementById("user_res").innerHTML="<font color='#f00'>用戶名長(zhǎng)度必須在5-18之間</font>";
return false;
}else if(!checkUser(user_value)){
//用戶名還有特殊符號(hào)
document.getElementById("user_res").innerHTML="<font color='#f00'>用戶名含有特殊符號(hào)</font>";
return false;
}else{
//用戶名合法
document.getElementById("user_res").innerHTML="<font color='#00f'>用戶名合法</font>";
return true;
}
}
//密碼獲取焦點(diǎn)時(shí)
function focus_password(){
document.getElementById("pass_res").innerHTML="<font color='#f00'>請(qǐng)輸入密碼</font>";
}
//密碼失去焦點(diǎn)時(shí)
function blur_password(){
var user_value=document.getElementsByName("password")[0].value;
if(user_value.length===0){
document.getElementById("pass_res").innerHTML="<font color='#f00'>你沒(méi)有輸入密碼</font>";
return false;
//判斷其長(zhǎng)度是否在5~18之間 如果不在就提示用戶
}else if(user_value.length<5||user_value.length>18)
{
document.getElementById("pass_res").innerHTML="<font color='#f00'>用密碼長(zhǎng)度必須在5-18之間</font>";
return false;
}else{
//密碼合法
document.getElementById("pass_res").innerHTML="<font color='#00f'>密碼合法</font>";
return true;
}
}
function checkUser(user){
var arr=["<",">","#","?","%"];
var arr_length=arr.length;
var user_length=user.length;
for(var i=0;i<arr_length;i++){
for(var j=0;j<user_length;j++){
if(arr[i]===user.charAt(j)){
return false;
}
}
}
//表示用戶名合法
return true;
}
//提交提交表單驗(yàn)證
function checkForm(){
var user_flag=blur_username();
var pass_flag=blur_password();
if(user_flag && pass_flag){
alert("提交合法表單");
return true;
}else{
alert("輸入不合法");
return false;
}
}
</script>
</head>
<body>
<!--action 參數(shù)自定義跳轉(zhuǎn)頁(yè)面-->
<form name='form1' onsubmit='return checkForm()' action='index.php'>
<table width='600' align='center'>
<tr>
<td align='right' width='150'>用戶名:</td>
<td width='100'><input type='text' name='username' onfocus='focus_username()' onblur = 'blur_username()'/></td>
<td><span id="user_res"></span></td>
</tr>
<tr>
<td align='right' width='100'>密碼:</td>
<td width='100'><input type='password' name='password' onfocus='focus_password()' onblur = 'blur_password()'/></td>
<td><span id="pass_res"></span></td>
</tr>
<tr>
<td></td>
<td><input type='submit' value='提交' /></td>
</tr>
</table>
</form>
</body>
</html>
運(yùn)行結(jié)果:

PS:這里再為大家提供2款非常方便的正則表達(dá)式工具供大家參考使用:
JavaScript正則表達(dá)式在線測(cè)試工具:
http://tools.jb51.net/regex/javascript
正則表達(dá)式在線生成工具:
http://tools.jb51.net/regex/create_reg
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《JavaScript正則表達(dá)式技巧大全》、《JavaScript表單(form)操作技巧大全》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
- JavaScript表單驗(yàn)證示例詳解
- 原生js實(shí)現(xiàn)表單的正則驗(yàn)證(驗(yàn)證通過(guò)后才可提交)
- 原生js 實(shí)現(xiàn)表單驗(yàn)證功能
- JavaScript實(shí)現(xiàn)表單驗(yàn)證功能
- JavaScript使用表單元素驗(yàn)證表單的示例代碼
- JavaScript實(shí)現(xiàn)表單注冊(cè)、表單驗(yàn)證、運(yùn)算符功能
- JS實(shí)現(xiàn)的簡(jiǎn)單表單驗(yàn)證功能完整實(shí)例
- JS實(shí)現(xiàn)的簡(jiǎn)單表單驗(yàn)證功能示例
- JavaScript 基礎(chǔ)表單驗(yàn)證示例(純Js實(shí)現(xiàn))
- JavaScript實(shí)現(xiàn)表單驗(yàn)證
相關(guān)文章
JavaScript 另類(lèi)遍歷數(shù)組實(shí)現(xiàn)代碼
JavaScript 另類(lèi)遍歷數(shù)組實(shí)現(xiàn)代碼,大家可以看下。2009-10-10
java必學(xué)必會(huì)之static關(guān)鍵字
java必學(xué)必會(huì)之static關(guān)鍵字,static關(guān)鍵字是很多朋友在編寫(xiě)代碼和閱讀代碼時(shí)碰到的比較難以理解的一個(gè)關(guān)鍵字,下面結(jié)合大家一起學(xué)習(xí)static關(guān)鍵字2015-12-12
js實(shí)現(xiàn)的二級(jí)橫向菜單條實(shí)例
這篇文章主要介紹了js實(shí)現(xiàn)的二級(jí)橫向菜單條,是非常美觀簡(jiǎn)潔的二級(jí)導(dǎo)航條效果,可實(shí)現(xiàn)針對(duì)鼠標(biāo)事件的動(dòng)態(tài)響應(yīng)及頁(yè)面樣式切換功能,簡(jiǎn)單實(shí)用,需要的朋友可以參考下2015-08-08
JS Generator 函數(shù)的含義與用法實(shí)例總結(jié)
這篇文章主要介紹了JS Generator 函數(shù)的含義與用法,結(jié)合實(shí)例形式總結(jié)分析了JS Generator 函數(shù)基本含義、用法及操作注意事項(xiàng),需要的朋友可以參考下2020-04-04
javascript簡(jiǎn)易畫(huà)板開(kāi)發(fā)
這篇文章主要為大家詳細(xì)介紹了javascript簡(jiǎn)易畫(huà)板開(kāi)發(fā)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10
JavaScript中函數(shù)聲明優(yōu)先于變量聲明的實(shí)例分析
同一個(gè)標(biāo)示符,先后用var和function聲明它。最后它是什么呢2012-03-03
JavaScript 斐波那契數(shù)列 倒序輸出 輸出100以內(nèi)的質(zhì)數(shù)代碼實(shí)例
這篇文章主要介紹了JavaScript 斐波那契數(shù)列 倒序輸出 輸出100以內(nèi)的質(zhì)數(shù)代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09

