我想阻止两个字符输入,但我希望用户能够输入一个或另一个以及使用回车键。我想使用白名单而不是黑名单字符。正则表达式还需要支持最小和最大长度。我正在使用asp:regularexpression控件进行客户端验证。我不想做服务器端验证,除非这是解决这个问题的唯一方法。有没有其他人遇到这个?提前感谢您的帮助。
这是我正在使用的正则表达式:
(?!。(&#))^ [a-zA-Z0-9!@#$%^& _ = +〜''“”;:,\ n \ r \ n \ N()\ - ?] {1,1000} $
我正在使用设置为多行的asp.net文本框,所以我必须允许\ r和\ n或者使用多行文本框的重点是什么:)
我想让用户不要一起输入&#,但允许用户输入&#或#在其中并允许所有字符a-zA-Z0-9!@#$%^& * _ = +〜''“”;:,\ r \ n。()\? - 。
有效的文本条目如下:
我对我的订单有疑问。 订单号是12345。 你能救我吗?
无效的文字条目如下:
我试图阻止用户 在文本框中输入&#; 但我想让他们进入&或#。
答案 0 :(得分:0)
string pattern = @"^(?!.*&#).{1,1000}$"
这断言字符串不包含组合&#,否则允许长度为1到1000个字符的任何内容。如果您确实需要白名单,请将.
前面的{
替换为白名单字符类([]
内)。
答案 1 :(得分:0)
这应该适合你:
string pattern = @"^(?![\s\S]*&#)[\s\S]{1,1000}$"