你好,谢谢你回答我的问题,我想再麻烦您一下,能帮我解释解释这是什么意思吗?我看不懂.

问题描述:

你好,谢谢你回答我的问题,我想再麻烦您一下,能帮我解释解释这是什么意思吗?我看不懂.
因为我做的是毕设以后要答辩,谢谢你!
protected void TextBox4_TextChanged(object sender, EventArgs e)
{Regex EmailExpression = new Regex(@"[\d]{6}(19|20)*[\d]{2}((0[1-9])|(11|12))([012][\d]|(30|31))[\d]{3}[xX\d]*", RegexOptions.Singleline | RegexOptions.Compiled);
if (EmailExpression.IsMatch(TextBox4.Text))
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "", "alert('身份证填写不正确!');");
return;
}
}
尤其是正则表达式括号中的哪些完全不知道是什么意思?谢谢你!

正则其实不难,但是看着容易乱,[\d]{6}--6位数字(19|20)--生日开始2位是19或者20开头的*[\d]{2}-后面接着2位数字((0[1-9])|(11|12))([012][\d]|(30|31))--验证生日格式[\d]{3}[xX\d]--后4位为3位数字,最后一位大小写X或者数字.现在的身份证都是这个格式
一共就2步骤,创建一个正则规则,IF里是看TextBox4里的值是否匹配这个正则规则,啊写错了
if (!EmailExpression.IsMatch(TextBox4.Text))//少个感叹号,取非的意思,如果不匹配则提示
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "", "alert('身份证填写不正确!');");
return;
}