使用有效的端口号和查询字符串验证URL

Validate URL with valid port number and query string

本文关键字:查询 字符串 验证 URL 口号 有效      更新时间:2023-10-22

我想使用正则表达式检查文本框是否包含有效的URL。有效的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构建验证表达式吗?

来源https://urlregex.com/:

/((([A-Za-z]{3,9}:(?:'/'/)?)(?:['-;:&='+'$,'w]+@)?[A-Za-z0-9'.'-]+|(?:www'.|['-;:&='+'$,'w]+@)[A-Za-z0-9'.'-]+)((?:'/['+~%'/'.'w'-_]*)?'??(?:['-'+=&;%@'.'w_]*)#?(?:['.'!'/'''w]*))?)/

这是一个非常宽松的正则表达式,应该适合您的需求:

^https?://[a-zA-Z0-9-]+('.[a-zA-Z0-9-]+)*'.'w+(:'d+)?(/['w-=.?]+)*/?$

需要http://https://

需要一组字符,然后可以选择多组用点分隔的字符(例如googlewww.googleimg1.srv2.google)。

需要另一个.,后跟一组字符(例如.com)。

允许可选端口(例如:8080

从那里允许由/s(例如/premium/login?rets-version=rets/1.5)分隔的单词/数字字符和符号集合-=.?

RegExr示例

使用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" />