js中如何實現表單的驗證
阿新 • • 發佈:2018-12-11
1.表單驗證也是通過正則表達來實現的 1、什麼是正則表示式: 能讓計算機讀懂的字串匹配規則。 2、正則表示式的寫法: var re=new RegExp('規則', '可選引數'); var re=/規則/引數; 3、規則中的字元 1)普通字元匹配: 如:/a/ 匹配字元 ‘a’,/a,b/ 匹配字元 ‘a,b’ 2)轉義字元匹配: \d 匹配一個數字,即0-9 \D 匹配一個非數字,即除了0-9 \w 匹配一個單詞字元(字母、數字、下劃線) \W 匹配任何非單詞字元。等價於[^A-Za-z0-9_] \s 匹配一個空白符 \S 匹配一個非空白符 \b 匹配單詞邊界 \B 匹配非單詞邊界 . 匹配一個任意字元 var sTr01 = '123456asdf'; var re01 = /\d+/; //匹配純數字字串 var re02 = /^\d+$/; alert(re01.test(sTr01)); //彈出true alert(re02.test(sTr01)); //彈出false 4、量詞:對左邊的匹配字元定義個數 ? 出現零次或一次(最多出現一次) + 出現一次或多次(至少出現一次) * 出現零次或多次(任意次) {n} 出現n次 {n,m} 出現n到m次 {n,} 至少出現n次 5、任意一個或者範圍 [abc123] : 匹配‘abc123’中的任意一個字元 [a-z0-9] : 匹配a到z或者0到9中的任意一個字元 6、限制開頭結尾 ^ 以緊挨的元素開頭 $ 以緊挨的元素結尾 7、修飾引數: g: global,全文搜尋,預設搜尋到第一個結果接停止 i: ingore case,忽略大小寫,預設大小寫敏感 8、常用函式 test 用法:正則.test(字串) 匹配成功,就返回真,否則就返回假 正則預設規則 匹配成功就結束,不會繼續匹配,區分大小寫
常用的正則規則(使用者名稱驗證、郵箱驗證、密碼驗證、手機號碼驗證…)
//使用者名稱驗證:(數字字母或下劃線6到20位)
var reUser = /^\w{6,20}$/;
//郵箱驗證:
var reMail = /^[a-z0-9][\w\.\-]*@[a-z0-9\-]+(\.[a-z]{2,5}){1,2}$/i;
//密碼驗證:
var rePass = /^[\[email protected]#$%^&*]{6,20}$/;
//手機號碼驗證:
var rePhone = /^1[34578]\d{9}$/;