我想检查文本框是否包含使用正则表达式的有效URL。有效的网址可以如下。
http://www.google.com
https://www.google.com
http://clrs.mlslist.com:6103/
http://clrs.mlslist.com:6103/premium/login
http://reso.mlslisting.com/premium/login?rets-version=rets/1.5
有人可以帮我构建ASP RegularExpressionValidator的验证表达式吗?
答案 0 :(得分:1)
这是一个非常宽松的正则表达式,可以满足您的需求:
^https?://[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.\w+(:\d+)?(/[\w-=.?]+)*/?$
需要http://
或https://
需要一组字符,后跟可选的多个字符组(例如google
或www.google
或img1.srv2.google
)。
需要另一个.
后跟一组字符(例如.com
)。
允许可选端口(例如:8080
)
从那里开始允许以-=.?
s分隔的单词/数字字符和符号/
(例如/premium/login?rets-version=rets/1.5
)
答案 1 :(得分:0)
使用RegularExpressionValidator
并将表达式设置为如下所示:
^([\ S \ s]的{0,4})$
将4替换为您想要的长度(最大)
示例强>:
<asp:TextBox id="txtbx" Runat="server" />
<asp:RegularExpressionValidator id="RegularExpressionValidator1" runat="server"
ErrorMessage="Error: RegularExpressionValidator"
ValidationExpression="^([\S\s]{0,4})$"
ControlToValidate="txtbx" />
<asp:Button ID="Button1" runat="server" Text="Button" />