1.身份证正则:
十八位:^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$
十五位:^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}[0-9Xx]$
总:(^d{15}$)|(^d{17}([0-9]|X)$)
2.邮箱正则:
1.只允许英文字母、数字、下划线、英文句号、以及中划线组成
-
26个大小写英文字母表示为a-zA-Z
-
数字表示为0-9
-
下划线表示为_
-
中划线表示为-
-
由于名称是由若干个字母、数字、下划线和中划线组成,所以需要用到+表示多次出现
分析域名部分:
一般域名的规律为“[N级域名][三级域名.]二级域名.顶级域名”,比如“qq.com”、“www.qq.com”、“mp.weixin.qq.com”、“12-34.com.cn”,分析可得域名类似“** .** .** .**”组成。 -
“**”部分可以表示为
[a-zA-Z0-9_-]+
-
“.**”部分可以表示为
\.[a-zA-Z0-9_-]+
-
多个“.**”可以表示为
(\.[a-zA-Z0-9_-]+)+
综上所述,域名部分可以表示为[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+
最终表达式:
由于邮箱的基本格式为“名称@域名”,需要使用“^”匹配邮箱的开始部分,用”$“匹配邮箱结束部分以保证邮箱前后不能有其他字符,所以最终邮箱的正则表达式为:
根据以上条件得出邮件名称表达式:[a-zA-Z0-9_-]+^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$
网友评论