加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

一些常见正则表达式(续)

发布时间:2020-12-14 01:44:22 所属栏目:百科 来源:网络整理
导读:1、验证手机号码 (1)、移动:134、135、136、137、138、139、150、151、152、157、158、159、182、183、184、187、188、178(4G)、147(上网卡); 联通:130、131、132、155、156、185、186、176(4G)、145(上网卡); 电信:133、153、180、181、189 、177(4G
1、验证手机号码
	(1)、移动:134、135、136、137、138、139、150、151、152、157、158、159、182、183、184、187、188、178(4G)、147(上网卡);
	    联通:130、131、132、155、156、185、186、176(4G)、145(上网卡);
	    电信:133、153、180、181、189 、177(4G);
	    卫星通信:1349;
	    虚拟运营商:170。	
	   所以正确的号码应该是开头应该是以13、14、15、17、18这些开头,然而其他开头的都不行;
	(2)、现在中国移动有一些特殊的开头,比如12593长话包,这些也是满足的;
	(3)、中国的区号+86;
	(4)、一些手机通讯录存号码的时候,自动加上-,比如:135-1235-6789。
	综上所述,可以得到下面的表达式;
	
private static boolean isMobile(String phone) {
		final String regex = "(+86|12593)?s?(1)(3|4|5|7|8){1}d{1}(-)?d{4}(-)?d{4}";
		Pattern pattern = Pattern.compile(regex);
		Matcher matcher = pattern.matcher(phone);
		return matcher.matches();
	}
说明:当phone以下格式的时候,返回true
13512345678、+8613512345678、+86 13512345678、+86135-1234-5678、+86 135-1234-5678
1259313512345678、12593 13512345678、12593135-1234-5678、12593 135-1234-5678
其他号码段以此类推,当然这种号码就不行了:16712345678

/**
	 * 判断email格式是否正确
	 * 
	 * @param email
	 * @return
	 */
	public static boolean isEmail(String email) {
		// String str =
		// "^([a-zA-Z0-9_-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.)|(([a-zA-Z0-9-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$";
		// Pattern p = Pattern.compile(str);
		if (TextUtils.isEmpty(email)) {
			return false;
		} else {
			email = email.trim();
		}
		final Pattern p = Pattern.compile("[a-zA-Z0-9+._%-+]{1,256}" + "@" + "[a-zA-Z0-9][a-zA-Z0-9-]{0,64}" + "(" + "."
				+ "[a-zA-Z0-9][a-zA-Z0-9-]{0,25}" + ")+");

		final Matcher m = p.matcher(email);
		return m.matches();
	}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读