看起来像是正则表达式不对 \\\\d{9} 写 \\d{9} 试试 正则好像是一个 \
String phoneNum = "^1[358]\d{9}$";
不过友情提示,现在也有16x 17x的手机号了。
/^1|([4][5-9])|([5][0-3,5-9])|([6][5,6])|([7][0-8])|([8][0-9])|([9][1,8,9]))[0-9]{8}$,这个支持目前所有运营商手机号
反斜杠太多了,最终被识别成普通字符了,而 \d 是正则的特殊含义:
Pattern pattern = Pattern.compile("^1[3,5,8]\\d{9}$");
return pattern.matcher(str).matches();