asp.net中的正则表达式验证

时间:2013-04-25 10:37:58

标签: asp.net

我在asp.net中使用正则表达式验证器c#登录页面..我有不同的登录页面,分别为学生,讲师和管理员......登录ID分别为1RNxxCSxxx,1RNLECSxxx,1RNADCSxxx(x-digits) )我的问题是它验证文本框并显示错误消息..但它仍然继续n登录..我的代码是..

    <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"       ControlToValidate="TextBox1" ErrorMessage="Enter in 1RNxxCSxxx format" ValidationExpression="[1][R][N][0-9][0-9][C][S][0-9][0-9][0-9]"></asp:RegularExpressionValidator>

ie ..如果我在学生登录页面输入讲师ID,我仍然可以登录,尽管有gettin错误信息。非常感谢。谢谢你。

1 个答案:

答案 0 :(得分:1)

从文本框的名称看,您正在使用自定义登录逻辑。我建议您考虑使用会员提供商,它将更加健全地保护您的整个应用程序。查看How to configure member ship with a database other than aspnetdb

对于您的直接问题,但是在检查用户是否有效的方法中。

if( !Page.IsValid )
{
     return;
}

可在此处找到更多信息:this link

此外,您的正则表达式也不正确。使用以下内容进行成功匹配。

^1RN([0-9]{2}|LE|AD)CS[0-9]{3}$

上面的表达式表示字符串应该开始(^表示开始),1RN有两个数字或LE或AD后跟字母CS和三个数字($表示结束)。