微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

转载请注明: 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();
	}

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

原文地址:https://www.jb51.cc/regex/361266.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐