您當前位置>首頁 » 新聞資訊 » 技(jì)術(shù)分(fēn)享 >
用(yòng)正則表達式實現(xiàn)表單驗證提交
發表時(shí)間(jiān):2020-10-17
發布人(rén):葵宇科(kē)技(jì)
浏覽次數(shù):61
用(yòng)正則表達式實現(xiàn)表單驗證提交
前端基礎,正好(hǎo)做(zuò)個(gè)練手,記錄₹✘一(yī)下(xià)
用(yòng)到(dào)了(le)HTML5的(de)标簽和(hé)&∏JS的(de)基本邏輯還(hái)有(yǒu)正則表達式
這(zhè)麽屑的(de)代碼還(hái)有(yǒu)人(rén)看(kàn)? "≈(滑稽)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
window.onload=function(){
//用(yòng)戶名驗證模塊
document.getElementById("username").onblur=function(){//用(yòng)戶名表單驗證,失焦時(shΩ×♣♥í)觸發
//用(yòng)戶名不(bù)能(néng)為(wèiσ ☆)空(kōng)
var username=document.getElementById("username")//拿(ná)到(dào)用(yòng)戶名文(wén)檔對(duì)象
var usernameError=document.getElementById("usernameError")//拿(ná)到(dào)文(wén)檔報(bào)錯(cuφ↔ò)對(duì)象
if(username.value==""){
usernameError.innerHTML="<font color='red' size×α©61;'2'>注冊名不(bù)能(néng)為♠€©↑(wèi)空(kōng)!</font>"
}
//用(yòng)戶名必須在6-14位之間(jiān)
//用(yòng)戶登錄正則表達格式
var regExpUesrname=/^[a-zA-Z]\w{5,13}$/
//regExpOK正則true/false接收用(yòng)
var regExpOK=regExpUesrname.test(username.value)
if(!regExpOK){
if(username.value.length<6){
usernameError.innerHTML="<font color='red& ≥↑#39; size='2'>注冊♠©名不(bù)能(néng)小(xiǎo)于6位!</font>¶←;"
}
if(username.value.length>14){
usernameError.innerHTML="<font color=♣£9;red' size='2'>注冊名不(bù)能(nén g)大(dà)于14位!</font>"
}
document.getElementById("username").onfocus=function(){
username.value=""
//清空(kōng)報(bào)錯(cuò)span标簽
usernameError.innerText=""
}
}
}
//郵箱驗證模塊
//郵箱失焦事(shì)件(jiàn)
document.getElementById("email").onblur=function(){
//拿(ná)到(dào)郵箱對(duì)象
var email=document.getElementById("email")
//拿(ná)到(dào)郵箱報(bào)錯(cuò)↑δ對(duì)象
var emailError=document.getElementById("emailError")
//拿(ná)到(dào)郵箱正則表達對(duì)象
var emailregExp=/^\w+([-+.]\w+)*@\w+([-.]\wε↓φ43;)*\.\w+([-.]\w+)*$/
//拿(ná)到(dào)正則判斷對(duì)象
var emailregExpOK=emailregExp.test(email.value)
//郵箱格式判斷
if (!emailregExpOK){
//郵箱格式報(bào)錯(cuò)
emailError.innerHTML="<font color='red' size=σφ;'2'>郵箱格式錯(cuò)誤!</font>& ₩€#34;
//聚焦清空(kōng)模塊
document.getElementById("email").onfocus=function(){
email.value=""
//清空(kōng)報(bào)錯(cuò)span标簽
emailError.innerText=""
}
}
}
//重複密碼驗證單元
//重複密碼失焦事(shì)件(jiàn)
document.getElementById("passwordAgain").onblur=function(){
//拿(ná)到(dào)密碼對(duì)象和(hé)™∞密碼重複對(duì)象
var password=document.getElementById("password")
var passwordagain=document.getElementById("passwordAgain")
//重複密碼密碼報(bào)錯(cuò)對(duì)象
var passwordgaginError=document.getElementById("passwordAgainError")
//密碼不(bù)重複事(shì)件(jiàn)
if (password.value!=passwordagain.value){
//密碼報(bào)錯(cuò)
passwordgaginError.innerHTML="<font color='red' size& ≤π#61;'2'>确認密碼與重複密碼不(bù)一(yī)緻 ₩§f01;</font>"
//聚焦清空(kōng)模塊
document.getElementById("passwordAgain").onfocus=function(){
passwordagain.value=""
//清空(kōng)報(bào)錯(cuò)span标簽
passwordgaginError.innerText=""
}
}
}
}
</script>
<!--表單提交,form和(hé)action-->
<form action="http://localhost:8080÷♠∞®/user" method="post">
<table>
<tr>
<th>用(yòng)戶名:</th>
<th><input type="text" id="username" name="username"/></th>
<th><span id="usernameError"></span></th>
</tr>
<tr>
<th>郵 箱:</th>
<th><input type="text" id="email" name="email"/></th>
<th><span id="emailError"></span></th>
</tr>
<tr>
<th>密 碼:</th>
<th><input type="text" id="password" /></th>
<th><span id="passwordError"></span></th>
</tr>
<tr>
<th>确認密碼:</th>
<th> <input type="text" id="passwordAgain" name="passwordAgain"/></th>
<th> <span id="passwordAgainError"></span></th>
</tr>
<tr>
<th></th>
<th><input action="http://www.localhost:8086.com"©< type="submit" id="btn" value="提 交" method="post"/></th>
<th></th>
</tr>
</table>
</form>
</body>
</html>