閱讀73 返回首頁    go 阿裏雲 go 技術社區[雲棲]


JavaScript 表單驗證總結

JavaScript 可用來在數據被送往服務器前對 HTML 表單中的這些輸入數據進行驗證。
表單數據經常需要使用 JavaScript 來驗證其正確性

驗證帳號

驗證規則:字母、數字、下劃線組成,字母開頭,4-16位

function validateAccounts(str) {   
    var reg = /^[a-zA-Z]\w{3,15}$/; 
    return reg.test(str);  
}  

驗證手機號碼

驗證電話號碼其實無非是檢驗一下他們位數對不對,開頭有沒有寫錯而已。我們從手機號碼曆程來看:

中國電信手機號碼開頭數字:2G/3G號段(CDMA2000網絡)133、153、180、181、189。4G號段 177

中國聯通手機號碼開頭數字:2G號段(GSM網絡)130、131、132、155、156。3G上網卡145。3G號段(WCDMA網絡)185、186。4G號段 176、185[1]

中國移動手機號碼開頭數字:2G號段(GSM網絡)有134x(0-8)、135、136、137、138、139、150、151、152、158、159、182、183、184。3G號段(TD-SCDMA網絡)有157、187、188。3G上網卡 147。4G號段 178

從以上我們可以看到第一位是 1 開頭,第二位則則有 3,4,5,7,8 ,之後則是數字 0-9 。從而我們可以得出一個符合當前的手機號碼驗證正則表達式

function validatePhone(str) {   
    var reg = /^1[3|4|5|7|8]\d{9}$/; 
    return reg.test(str);  
}  

但也許第二位代碼可能隨時增加一個,比如以16開頭呢?19開頭呢?誰知道以後的事,咱們的代碼要保證幾年沒問題,所以還可以不驗證第二位規則

function validatePhone(str) {   
    var reg = /^1\d{10}$/;
    return reg.test(str);  
} 

驗證電話號碼

驗證規則:區號+號碼,區號以0開頭,3位或4位

號碼由7位或8位數字組成

區號與號碼之間可以無連接符,也可以“-”連接

如01088888888,010-88888888,0955-7777777

function checkPhone(str){
    var reg = /^0\d{2,3}-?\d{7,8}$/;
    return reg.test(str);
}

驗證郵箱

驗證規則:姑且把郵箱地址分成“第一部分@第二部分”這樣

第一部分:由字母、數字、下劃線、短線“-”、點號“.”組成,第二部分:為一個域名,域名由字母、數字、短線“-”、域名後綴組成,而域名後綴一般為.xxx或.xxx.xx,一區的域名後綴一般為2-4位,如cn,com,net,現在域名有的也會大於4位

function validateEmail(str){
    var reg = /^(\w-*\.*)+@(\w-?)+(\.\w{2,})+$/;
    return reg.test(str);
}

驗證漢字

function isChinese(str){
var reg=/^[\u0391-\uFFE5]+$/;
return reg.test(str);
}

最後更新:2017-05-04 12:31:02

  上一篇:go 那些曾經改變程序世界的語言,你還記得嗎?
  下一篇:go 回憶那些年我們一起追過的windows係統