我的共享单车项目其中的手机号码验证,采取的是较为简单的13位(包含两位空白符和11位数字符),验证方式也比较偷懒,只考虑到前两位而已。
/**
* 验证手机格式
*/
public static boolean isMobileNO(String mobiles) {
/*
移动:134、135、136、137、138、139、150、151、157(TD)、158、159、184、187、188
联通:130、131、132、152、155、156、166、185、186
电信:133、153、180、189、(1349卫通)
总结起来就是第一位必定为1,第二位必定为3或5或6或8,其他位置的可以为0-9
*/
String telRegex = "[1][3568]\\d{1}\\s{1}\\d{4}\\s{1}\\d{4}";//"[1]"代表第1位为数字1,"[358]"代表第二位可以为3、5、6、8中的一个,"\\d{4}"代表\\d表示0-9这九个数字,\\s表示空白符,包括空格,有4位。
if (TextUtils.isEmpty(mobiles)) return false;
else return mobiles.matches(telRegex);
}