asp.net – 防止TextBox中的特殊字符

我想阻止用户在TextBox中输入url(如href =“”).

我想使用正则表达式验证器,但不知道写什么?

我该怎么做?

解决方法

你的意思是你真的想阻止他们在TextBox中输入文本href =“,或者你想阻止URL?无论如何,RegexValidator是一个解决方案:

实际上,据我所知,没有一种非常简单的方法可以使用OOTB-regex验证器来执行否定包含(即“如果有任何匹配则失败”).聪明的人可能能够纠正我.但你绝对可以使用自定义验证器:

<asp:TextBox runat="server" id="myTextBox" />
<asp:CustomValidator runat="server" OnServerValidate="ValidateNoUrls" ControlToValidate="myTextBox" ErrorMessage="URLs not allowed" />

代码隐藏:

protected void ValidateNoUrls(object sender,ServerValidateEventArgs e)
{
    e.IsValid = !Regex.IsMatch(e.Value,@"(ht|f)tp(s?)\:\/\/[0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*(:(0-9)*)*(\/?)([a-zA-Z0-9\-\.\?\,\'\/\\\+&amp;%\$#_]*)?");
}

dawei

【声明】:唐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。