js最新手機號碼、電話號碼正則表達式


原文鏈接:http://caibaojian.com/regexp-example.html

正則表達式(regular expression)是一個描述字符模式的對象。使用JavaScript正則表達式可以進行強大的模式匹配和文本檢索與替換功能。

手機號碼正則表達式驗證。

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

或者

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

感謝 丐幫流寇 的提醒,我查了一下了解了“ 小括號就是括號內看成一個整體 ,中括號就是匹配括號內的其中一個”·

原來正則里面的中括號[]只能匹配其中一個,如果要匹配特定幾組字符串的話,那就必須使用小括號()加或|,我還以為在中括號中也能使用或|符號,原來|在中括號里面也是一個字符,並不代表或。[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位結束。

具體請參考這篇文章解說:JS最新手機號碼檢驗正則表達式 (絕對能讓你明白)

我猜你可能會喜歡關於JavaScript正則的文章:正則

  1. JavaScript中的正則表達式總結(大量的正則)
  2. JavaScript正則表達式(例子)

固定電話號碼正則表達式

 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)$)

其他

//code from http://caibaojian.com/regexp-example.html
提取信息中的網絡鏈接:(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+)
提取信息中的中國電話號碼(包括移動和固定電話):(\(\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]* 

使用:

test()方法在字符串中查找是否存在指定的正則表達式,並返回布爾值,如果存在則返回true,否則返回false。

var pattern = new RegExp('Box','i');
var str = 'box';
alert(pattern.test(str)); //true
var pattern = /Box/i;
var str = 'box';
alert(pattern.test(str)); //true
var pattern = /Box/i;
var str = 'This is a box';
alert(pattern.test(str)); //true
2019.6.5新增16和19開頭的手機號碼段。


來源:前端開發博客

=========================================================================================

 function isPoneAvailable($poneInput) { var myreg=/^[1][3,4,5,7,8][0-9]{9}$/; if (!myreg.test($poneInput.val())) { return false; } else { return true; } }

這里的重點是這個正則表達式:

var myreg=/^[1][3,4,5,7,8][0-9]{9}$/;

這個表達式的意思是:

1--以1為開頭;

2--第二位可為3,4,5,7,8,中的任意一位;

3--最后以0-9的9個整數結尾。

本來只容13,15,17,18,開頭的手機號,但是測試mm說有14開頭的號碼,所以添加了14;當然,如果以后要是發展成有16,或者19,之類的開頭號碼的話,在

[3,4,5,7,8]

中添加即可。

 
 // 判斷是否為手機號 isPoneAvailable: function (pone) { var myreg = /^[1][3,4,5,7,8][0-9]{9}$/; if (!myreg.test(pone)) { return false; } else { return true; } }, // 判斷是否為電話號碼 isTelAvailable: function (tel) { var myreg = /^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/; if (!myreg.test(tel)) { return false; } else { return true; } },


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM