RegEx For Multiline ASP.NET Textbox

时间:2010-02-16 21:04:59

标签: asp.net regex

我想阻止两个字符输入,但我希望用户能够输入一个或另一个以及使用回车键。我想使用白名单而不是黑名单字符。正则表达式还需要支持最小和最大长度。我正在使用asp:regularexpression控件进行客户端验证。我不想做服务器端验证,除非这是解决这个问题的唯一方法。有没有其他人遇到这个?提前感谢您的帮助。

这是我正在使用的正则表达式:

(?!。(&#))^ [a-zA-Z0-9!@#$%^& _ = +〜''“”;:,\ n \ r \ n \ N()\ - ?] {1,1000} $

我正在使用设置为多行的asp.net文本框,所以我必须允许\ r和\ n或者使用多行文本框的重点是什么:)

我想让用户不要一起输入&#,但允许用户输入&#或#在其中并允许所有字符a-zA-Z0-9!@#$%^& * _ = +〜''“”;:,\ r \ n。()\? - 。

有效的文本条目如下:

我对我的订单有疑问。 订单号是12345。 你能救我吗?

无效的文字条目如下:

我试图阻止用户 在文本框中输入&#; 但我想让他们进入&或#。

2 个答案:

答案 0 :(得分:0)

string pattern = @"^(?!.*&#).{1,1000}$"

这断言字符串不包含组合&#,否则允许长度为1到1000个字符的任何内容。如果您确实需要白名单,请将.前面的{替换为白名单字符类([]内)。

答案 1 :(得分:0)

这应该适合你:

string pattern = @"^(?![\s\S]*&#)[\s\S]{1,1000}$"