我需要验证一个应该接受“ab123cd”,“xy12345”,“a567891”等字符串的文本框。如何编写正则表达式来满足此要求?接受字符串的长度不应超过7个字符。不允许在字符串中使用任何特殊字符或空格。
while(textbox.text does not match the requirement)
{
MessageBox.Show("Please enter Valid string");
prompt.ShowDialog(); //displaying a Dialog box that shows a textbox
}
还帮我编写如上所示的代码。 谢谢!!
答案 0 :(得分:2)
编辑: 更新 你可以试试这个
^(?=.*[a-zA-Z])(?=.*[0-9])[a-zA-Z0-9]{1,7}$
说明:
^
标志着开始位置(?=.*[a-zA-Z])
展望未来是否有任何字母(?=.*[0-9]
)展望未来是否有任何数字[a-zA-Z0-9]
表示a-z,A-Z或0-9 {1,7}
表示只能发生1-7次$
标记字符串的结尾答案 1 :(得分:1)
你可以使用
^\w{1,7}$
指一至七个字母数字字符。您可以轻松调整长度限制。
如果您更喜欢控制其他允许的字符,请使用:
^[a-zA-Z0-9]{1,7}$
,因为\ w更宽容所以要小心
对于C#,您可以使用Regex.IsMatch方法:Regex.IsMatchméthode(System.Text.RegularExpressions):https://msdn.microsoft.com/fr-fr/library/system.text.regularexpressions.regex.ismatch(v=vs.110).aspx
使用起来非常简单。