一个正则表达式搞定手机号校验,适用于JAVA和Javascript

以前也用过手机号的正则表达式验证,但是一直没找到个更好的,都不能一个正则表达式搞定,现在终于找到一个正则表达式搞定的了,既可以验证长度,又可以验证合法性。

java版的
String phone = "17111112222";
Pattern pattern = Pattern.compile("^1(3[0-9]|5[012356789]|7[678]|8[0-9])(?=\\d{8}$)");
pattern.matcher(phone).find();
javascript版的
var phone = '17111112222';
var phoneReg = /^1(3[0-9]|5[012356789]|7[678]|8[0-9])(?=\d{8}$)/g;
phoneReg.test(phone);

本人已经测试通过,如有错误地方,望不吝赐教

相关推荐