js常用的正則表達式

最近看到一篇文章說到了js中用正則表達式檢測手機號碼的,覺得以後可能會用到,所以趕緊寫篇博客記錄下來。

原文出自http://caibaojian.com/regexp-example.html

手機號碼正則表達式驗證

方法一:

function checkPhone(){ 
    var phone = document.getElementById('phone').value;
    if(!(/^1[34578]\d{9}$/.test(phone))){ 
        alert("手機號碼有誤,請重填");  
        return false; 
    } 
}

方法二:

function checkPhone(){ 
    var phone = document.getElementById('phone').value;
    if(!(/^1(3|4|5|7|8)\d{9}$/.test(phone))){ 
        alert("手機號碼有誤,請重填");  
        return false; 
    } 
}

著作權歸作者所有。
商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。
鏈接:http://caibaojian.com/regexp-example.html
來源:http://caibaojian.com

小括號就是括號內看成一個整體 ,中括號就是匹配括號內的其中一個”

原來正則裏面的中括號[]只能匹配其中一個,如果要匹配特定幾組字符串的話,那就必須使用小括號()加或|,我還以爲在中括號中也能使用或|符號,原來|在中括號裏面也是一個字符,並不代表或。[3457]匹配3或者4或者5或者7,而(3457)只匹配3457,若要跟前面一樣可以加或(3|4|5|7)。[34|57]匹配3或者4或者|或者5或者7.而(34|57)能匹配34或者57。

下面簡單的解釋一下:

^1(3|4|5|7|8)\d{9}$

表示以1開頭,第二位可能是3/4/5/7/8等的任意一個,在加上後面的\d表示數字[0-9]的9位,總共加起來11位結束。

固定電話號碼正則表達式:

 function checkTel(){
 var tel = document.getElementById('tel').value;
if(!/^(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}$/.test(tel)){
alert('固定電話有誤,請重填');
return false;
}
}

身份證驗證:

//身份證正則表達式(15位)
isIDCard1=/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/;
//身份證正則表達式(18位)
isIDCard2=/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}$/;
身份證正則合併:(^\d{15}$)|(^\d{17}([0-9]|X)$)

其他:
提取信息中的網絡鏈接:

(h|H)(r|R)(e|E)(f|F) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?

提取信息中的郵件地址:

\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

提取信息中的圖片鏈接:

(s|S)(r|R)(c|C) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?

提取信息中的IP地址:

(\d+)\.(\d+)\.(\d+)\.(\d+)

提取信息中的中國手機號碼:

(86)*0*13\d{9}

提取信息中的中國固定電話號碼:

(\(\d{3,4}\)|\d{3,4}-|\s)?\d{8}

提取信息中的中國電話號碼(包括移動和固定電話):

(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}

提取信息中的中國郵政編碼:

[1-9]{1}(\d+){5}

提取信息中的中國身份證號碼:

\d{18}|\d{15}

提取信息中的整數:

\d+

提取信息中的浮點數(即小數):

(-?\d*)\.?\d+

提取信息中的任何數字 :

(-?\d*)(\.\d+)?

提取信息中的中文字符串:

[\u4e00-\u9fa5]*

提取信息中的雙字節字符串 (漢字):

[^\x00-\xff]*
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章