JavaScript最新手机、电话、身份证号码和汉字等的正则表达式

最近在使用 jQuery.validator 验证插件,其中有地方需要用到手机号码验证的功能。

wKiom1XCzneyLS_SAAFXWDYOfiw172.jpg-wh_651x-s_3827436593.jpg JavaScript最新手机、电话、身份证号码和汉字等的正则表达式 经验总结

使用 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{9} 表示数字 [0-9] 的 9 位,总共加起来11位结束。

JavaScript中的正则表达式总结(大量的正则)

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

其他:

提取信息中的网络链接:(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

原创文章,作者:6024010,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/231355.html

(0)
上一篇 2022年1月16日 18:50
下一篇 2022年1月16日 18:50

相关推荐

发表回复

登录后才能评论