js、java 常用的正则表达式

今天用到身份证验证,网上找了一下,没有找到正好合适的,多数只是验证了15或18或x的问题。
没办法只好找一个找不多的自己修改了一下。现在应该适用第二代身份证的验证规则。

1. 身份证
/^[1-9][0-7]\d{4}(19|20)\d{2}((0\d{1})|(1[0-2]))(([0-2]\d{1})|(3(0|1)))\d{3}(\d|x|X)$/

2. 非空
/^[\S]+$/

3. 手机号
/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/

必须以数字开头,除数字外,可含有“-”

4. 数字
/^\d$/

5. email
/^\w+((-\w+)|(\.\w+))*\-AT-[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/

5. 登录名
/^[a-zA-Z]{1}([a-zA-Z0-9._]){4,19}$/

5-20个以字母开头、可带数字、“_”、“.”的字串

6. 字母和数字
/^[a-zA-Z0-9]{6,15}$/


Java: 基本上与js一致,但是特殊字符需要转译
	// 正则比较
	Pattern pattern = Pattern.compile("^[\\S]+$");
	Matcher matcher = pattern.matcher("test");
	if (matcher.matches()) {
		// 验证成功
	}

你可能感兴趣的:(正则表达式)