java里怎么用正则表达式判断字符串是否为合法的手机号?

这是我写的 \\1\d{3,5}\d{9.}但不对...高手帮帮忙~~

恕我直言,在坐的各位都是渣渣,判断第一位是1就是手机号真是可笑
public static boolean isMobileNO(String mobiles) {
String telRegex = "[1][3578]\\d{9}";
// "[1]"代表第1位为数字1,"[3578]"代表第二位可以为3、5、8中的一个,"\\d{9}"代表后面是可以是0~9的数字,有9位。
if (TextUtils.isEmpty(mobiles)) {
return false;
} else
return mobiles.matches(telRegex);
}
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-11-22
Pattern p = Pattern.compile("1\\d{10}");
Matcher m = p.matcher(13145632378);
boolean b = m.matches();
在java程序中由于“\”表示转义字符用“\\”表示“\d”中的“\”本回答被提问者采纳
第2个回答  2009-10-16
//校验手机号码:必须以数字开头,除数字外,可含有“-”

function isTel(s)
{
//var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?(\d){1,12})+$/;
var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
if (!patrn.exec(s)) return false
return true
}
第3个回答  2009-10-15
以13开头的为例吧。
开头两位是13,剩下的9位是数字,则
13\d{9}
字符串表示就是
"13\\d{9}"
第4个回答  2009-10-16
^(0?1[358]\d{9})$|^((0(10|2[1-3]|[3-9]\d{2}))?[1-9]\d{6,7})$
相似回答