在RegularExpressionValidator的ValidationExpression中引用

时间:2009-10-23 22:07:53

标签: asp.net regex

使用所述控件验证ASP.NET TextBox,我很好奇最流行的做法是什么。目前正在使用:

ValidationExpression="^[\w\d\s.,"'-]+$"

任何更短的方式吗?尝试\""无济于事。感谢。

2 个答案:

答案 0 :(得分:7)

使用\"无效,您也无法使用""。你有什么匹配正确。

也就是说,为了缩短它,你总是可以使用unicode字符转义等价:\x22。更短的是八进制表示:\42。虽然两者都较短,但它们对可读性没有多大帮助。频繁的正则表达式用户会理解它代表某些字符,但他们可能不知道哪个字符而不查找它。此外,除非您打算在附近留下ASP.NET标记注释以解释正则表达式,否则您将无法对其进行评论。

然而,我并不特别喜欢"的样子。它看起来很奇怪而且不合适,使\x22\42看起来更清洁。你的电话。

ValidationExpression="^[\w\d\s.,\x22'-]+$"
ValidationExpression="^[\w\d\s.,\42'-]+$"

最终,这可以让你减掉2-3个角色。

编辑:使用八进制表示法添加了更短的方法。

答案 1 :(得分:0)

我认为从代码隐藏中设置该值(您可以更好地控制字符串格式化/转义)将是您最好的选择。