Regex-註冊表驗證
Regex
Regex是對字串操作的一種邏輯公式,就是用事先定義好的一些特定字元及這些特定字元的組合,組成一個“規則字串”,這個“規則字串”用來表達對字串的一種過濾邏輯。
Regex目的
1. 給定的字串是否符合Regex的過濾邏輯(稱作“匹配”);
2. 可以通過Regex,從字串中擷取我們想要的特定部分。
Regex的特點是
1.靈活性、邏輯性和功能性非常的強;
2.可以迅速地用極簡單的方式達到字串的複雜控制;
3.對於剛接觸的人來說,比較晦澀難懂。
註冊表驗證
1.擷取id
function $(id){ return document.getElementById(id);}
2.驗證姓名
function checkName(){ //擷取值 var username=$('user').value; //判斷不可為空 if(username==''){ $('s1').innerHTML='使用者名稱不可為空'; return false; } //Regex var reg=/^[a-zA-Z][a-zA-Z0-9]{4,9}$/; //檢測輸入內容是否匹配Regex if(!reg.test(username)){ $('s1').innerHTML='使用者名稱必須是5-10位元字或字母組成,開頭不能是數字'; return false; } //匹配,返回空 $('s1').innerHTML=''; return true;}備忘:s1為判斷提示內容,添加在輸入框後<span id='s1'></span>
3.驗證密碼
function checkPwd(){ //獲得值 同上… //判斷不可為空 同上… //Regex var reg=/^\S{6,}$/; //檢測輸入內容是否匹配Regex if(reg.test(password)==false){ $('s2').innerHTML='密碼必須是6位以上'; return false; } //匹配,返回空 同上…}
4.驗證郵箱
function checkEmail(){ //獲得值 同上… //判斷不可為空 同上… //Regex var reg=/^\w+@\w+\.com|cn|net$/; //檢測輸入內容是否匹配Regex if(!reg.test(email)){ $('s3').innerHTML='郵箱不合法'; return false; } //匹配,返回空 同上…}
5.驗證手機號
function checkTel(){ //獲得值 同上… //判斷不可為空 同上… //Regex var reg=/^1[34578]\d{9}$/; //檢測輸入內容是否匹配Regex if(!reg.test(tel)){ $('s4').innerHTML='手機號碼不合法'; return false; } //匹配,返回空 同上…}
6.驗證社會安全號碼
function checkCid(){ //獲得值 同上… //判斷不可為空 同上… //Regex var reg=/^\d{15}$|^\d{17}\d|x$/; //檢測輸入內容是否匹配Regex if(!reg.test(cid)){ $('s5').innerHTML='身份證不合法'; return false; } //匹配,返回空 同上…}
7.驗證QQ號
function checkQQ(){ //獲得值 同上… //判斷不可為空 同上… //Regex var reg=/^[1-9]\d{7,10}$/; //檢測輸入內容是否匹配Regex if(!reg.test(qq)){ $('s6').innerHTML='QQ必須是8到11數字組成,開頭不能是0'; return false; } //匹配,返回空 同上…}
8.檢測所有條件
function checkAll(){ if(checkName()&&checkPwd()&&checkEmail()&&checkTel()&&checkCid()&&checkQQ()){ return true; }else{ return false; }}
當然,到後期可以使用jQuery Validate驗證架構進行表達驗證,更加便捷。