我想验证文本框中的用户输入。在文本框中,用户应该只能输入街道名称,空格和数字(例如,道路65)。
要求是:
这是什么验证正则表达式?
我在ASP .NET中使用RegularExpressionValidator
。
<asp:RegularExpressionValidator ID="RegularExpressionValidatorStreet" runat="server"
ErrorMessage="This is wrong!" ValidationExpression="^[a-zA-Z\s][0-9]$"
ControlToValidate="streettxt"></asp:RegularExpressionValidator><br />
答案 0 :(得分:0)
您的表达式仅匹配[a-zA-Z\s]
中的一个字符,后跟[0-9]
中的一个字符,因此它匹配"r6"
或" 6"
或"Z8"
但不匹配"road 65"
。
由于您要匹配至少一个或多个字母,后跟一个空白字符,最后一个或多个数字,请尝试:
ValidationExpression="^[a-zA-Z]+\s[0-9]+$"
"road 65"
,"qWerTy 6"
或"q 23983049823948"
"road 65"
," road 65"
,还是"road65"
^
在字符串[a-zA-Z]+
匹配a-z
或A-Z
之间的单个字符,在一次和无限次之间,尽可能多次\s
匹配任何单个空格字符[0-9]+
匹配0-9
之间的单个字符,在一次和无限次之间,尽可能多次$
断言字符串末尾的位置如果您想在一个和无限制的空白字符之间进行匹配,请将量词添加到\s+
:
ValidationExpression="^[a-zA-Z]+\s+[0-9]+$"
将匹配"road 65"
和"road 65"
,但不匹配"road65"
。