正则:手机、电话号码、邮箱、

前端之家收集整理的这篇文章主要介绍了正则:手机、电话号码、邮箱、前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
转载请注明: http://www.jb51.cc/article/p-oqleszvr-uz.html
现有手机号码段:(相关资料参考百度百科)
电信:
2G/3G号段(CDMA2000)133、153、180、181、189
4G号段 177
联通:
2G号段(GSM)130、131、132、155、156
3G上网卡145
3G号段(WCDMA)185、186
4G号段 176
移动:
2G号段(GSM):134x(0-8)、135、136、137、138、139、150、151、152、158、159、182、183、184
3G号段(TD-SCDMA)有157、187、188
3G上网卡 147
4G号段 178
补充:
14号段以前为上网卡专属号段,如中国联通的是145,中国移动的是147等等。
170号段为虚拟运营商专属号段,170号段的 11 位手机号前四位来区分基础运营商,其中 “1700” 为中国电信的转售号码标识,“1705” 为中国移动,“1709” 为中国联通。
卫星通信 1349

手机号码正则:手机号有些人会加86或0,此处设置为有则取其一

	/** 判断手机格式是否正确 */
	public static boolean isMobileNO(String mobiles) {
        Pattern p = Pattern.compile("^(86?|0?)1(3[0-9]|4[57]|5[0-35-9]|7[6-8]|8[0-9])[0-9]{8}$");//目前号码段
		Matcher m = p.matcher(mobiles);
        return m.matches();
	}
现有电话号码格式:大致是区号3-4位,以0开头。号码7-8位,不以0开头。这里加了2-4位的分机号,对于分机号不怎么了解。

电话号码正则:区号与正式号码段之间的-设置为可有可无。

    /** 判断固话号码格式是否正确*/
    public static boolean isTelPhoneNO(String telphone) {
        Pattern p = Pattern.compile("^(0[1-9]{2,3}\\-?)?[1-9][0-9]{6,7}(\\-\\d{2,4})?$");//目前号码段
        Matcher m = p.matcher(telphone);
        return m.matches();
    }

Email 格式:~@~.~ 或~@~.~.~

Email 正则:此处@号码之前是自己写的,后面自己没有研究出来,借鉴了别人的,且没看懂....(如果有同学路过,望帮忙解释下) 此正则@后面要求英文字母是小写的。

	/** 判断email格式是否正确 */
	public static boolean isEmail(String email) {
		String str = "^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.)|" +
                "(([a-z0-9\\-]+\\.)+))([a-z]{2,4}|[0-9]{1,3})(\\]?)$";
		Pattern p = Pattern.compile(str);
		Matcher m = p.matcher(email);
		return m.matches();
	}

博客用于工作学习记录——山不在高,早安!

猜你在找的正则表达式相关文章