正则之注册登录
不久前寫了個登錄注冊的網站,因為未對其做出限制,所以,隨便你輸入什么都可以注冊成功,遂想怎么通過js規定注冊的賬號
我的要求是:
一:輸入框不能為空,不能太長也不能太短
二:
1、注冊的用戶名必須是漢字
2、賬號必須是以英文字母,數字,或者下劃線組成
3、密碼則是英文字母加數字
這里的英文字母指的是大寫字母和小寫字母
實現:
用戶名:
function setdiv0(){var name = document.getElementById("gname").value;var reg = /^([\u4E00-\u9FA5])*$/;//限定其只能輸入中文if(name==""){document.getElementById("div0").innerHTML="<span class='true'>*輸入的用戶名不能為空</span>"; return false;}else if(name.length<2||name.length>8){document.getElementById("div0").innerHTML="<span class='true'>*賬號只能為2~8位字符!</span>";return false;}else{if (!reg.test(name)){document.getElementById("div0").innerHTML="<span class='true'>/*用戶名必須為中文</span>"; return false ;}else{document.getElementById("div0").innerHTML="<span class='true' id='true'>格式正確</span>";return true ;}}}賬號:
function setdiv1(){var name = document.getElementById("uname").value;if(name==""){document.getElementById("div1").innerHTML="<span class='true'>*輸入的賬號不能為空</span>"; return false;}else if(name.length<6||name.length>18){document.getElementById("div1").innerHTML="<span class='true'>*用戶名只能為6~18位字符!</span>";return false;}else{for(var i = 0; i<name.length; i++){if(! ( ( name.charCodeAt(i)>='0'.charCodeAt()&&name.charCodeAt(i)<='9'.charCodeAt() ) ||( name.charCodeAt(i)>='a'.charCodeAt()&&name.charCodeAt(i)<='z'.charCodeAt() ) ||( name.charCodeAt(i)>='A'.charCodeAt()&&name.charCodeAt(i)<='Z'.charCodeAt() ) ||( name.charCodeAt(i)=='_'.charCodeAt() ) )) {document.getElementById("div1").innerHTML="<span class='true'>用戶名只能包含英文字母、數字、下劃線!</span>";return false;}else{document.getElementById("div1").innerHTML="<span id='true'>格式正確</span>";}}}}密碼:
function setdiv2(){var pwd = document.getElementById("upwd").value;if(pwd==""){document.getElementById("div2").innerHTML="<span class='true'>輸入的密碼不能為空</span>"; return false;}else if(pwd.length<6||pwd.length>18){document.getElementById("div2").innerHTML="<span class='true'>密碼只能為6~18位字符!</span>";return false;}else{for(var i = 0; i<pwd.length; i++){if(! ( ( pwd.charCodeAt(i)>='0'.charCodeAt()&&pwd.charCodeAt(i)<='9'.charCodeAt() ) ||( pwd.charCodeAt(i)>='a'.charCodeAt()&&pwd.charCodeAt(i)<='z'.charCodeAt() ) ||( pwd.charCodeAt(i)>='A'.charCodeAt()&&pwd.charCodeAt(i)<='Z'.charCodeAt() ))) {document.getElementById("div2").innerHTML="<span class='true'>密碼只能包含英文字母、數字!<span class='true'>";return false;}else{document.getElementById("div2").innerHTML="<span class='true' id='true'>格式正確</span>";}}}}下面是頁面代碼,僅供參考:
<html><style> #div0,#div1,#div2{display:inline; }.true{font-size:18px;color:red;font-style:italic; }#true{background-image: -webkit-linear-gradient(left,blue,#66ffff 10%,#cc00ff 20%,#CC00CC 30%, #CCCCFF 40%, #00FFFF 50%,#CCCCFF 60%,#CC00CC 70%,#CC00FF 80%,#66FFFF 90%,blue 100%);-webkit-text-fill-color: transparent;/* 將字體設置成透明色 */-webkit-background-clip: text;/* 裁剪背景圖,使文字作為裁剪區域向外裁剪 */-webkit-background-size: 200% 100%; -webkit-animation: masked-animation 2s linear infinite;font-size: 18px;font-style:normal; }</style><body> <script src="ss.js"></script><input type="text" id="gname" onblur="setdiv0()"><div id="div0"></div><br> <input type="text" id="uname" onblur="setdiv1()"><div id="div1"></div><br> <input type="password" id="upwd" onblur="setdiv2()"> <div id="div2"></div><br> <input type="submit" id="button" ></body> </html>具體就是用到了onblur,失去焦點事件觸發一個函數
總結
- 上一篇: 使用3D MAX需要的电脑配置?
- 下一篇: 用正则判断字符串是否为中文的方法