【问题标题】:regular validation expression in asp.netasp.net 中的正则验证表达式
【发布时间】:2010-10-07 11:35:15
【问题描述】:

我有一个代码来编辑一些功能。该 Web 应用程序中有一个文本框。它使用正则表达式验证器控件来验证文本框。验证表达式是

ValidationExpression="[\w]{3,15}"

它接受所有字母、数字和下划线。但它不接受特殊字符,如 \,/ * 。我想把上面的正则表达式改成接受 / 。

我希望有人可以解释上述正则表达式的含义以及如何更改该表达式以接受 / 而不影响当前的正则表达式 我正在使用 asp.net 和 c#

【问题讨论】:

    标签: asp.net regex


    【解决方案1】:
    string ValidationExpression= "[\w/]{3,15}"
    
    • [...] 匹配括号中列表中的单个字符
    • [...]{3,15} 匹配括号中的 3 到 15 个字符
    • \w 匹配单词字符(字母、数字、下划线...)
    • /匹配字符/

    所以[\w/]{3,15} 匹配一个单词字符或“/” 3 到 15 次。

    【讨论】:

    • 我认为没有必要在 [] 括号中给出竖线 (|) 符号。
    • @Shekhar,你完全正确。我已经更新了我的答案。谢谢
    【解决方案2】:

    你当前的正则表达式可以解构如下:

    [] 括号表示正则表达式组。正则表达式引擎将尝试将 [] 中给出的所有字符或字符组与输入字符串匹配。

    \w - 允许所有字母数字字符,包括大写和小写字母以及 0 到 9 个数字和下划线(这不包括其他特殊字符,如 / 或 # 等)。

    {3,15} 表示必须提供最少 3 个和最多 15 个字母数字字符才能成功匹配字符串。

    要添加其他章程,您需要明确添加它们。如果你想添加 / 你的正则表达式应该像 [\w/]{3,15}。

    您可以了解有关正则表达式here 的所有内容。

    【讨论】:

    • 谢谢。还有一个疑问。如果我只想检查尺寸,我该怎么办。我试过这样 -> ValidationExpression="{3,15}" 。但它给出了一个错误
    • 得到了答案。 ValidationExpression=".{3,15}" 。再次感谢你
    • 什么大小?输入文本?如果你想检查输入文本的大小/长度,那么你可以使用 string.length 方法。
    • alryt。但我希望它从客户端做。问题已解决。谢谢