【问题标题】:How to RegularExpressionValidator check digit 0-9 and "/" and "-" and ","RegularExpressionValidator如何检查数字0-9和“/”和“-”和“,”
【发布时间】:2016-02-29 07:53:24
【问题描述】:

RegularExpressionValidator如何校验数字0-9和“/”和“-”和“,”

HTML

<asp:TextBox ID="txtPer" runat="server" Width="200px"></asp:TextBox>
<asp:RegularExpressionValidator CssClass="zorunlu" Display="Dynamic" ID="rangevalidator1" runat="server" SetFocusOnError="true" ControlToValidate="txtPer" ErrorMessage="Please Input Correct Format." ValidationExpression="^\d{8}$|^\d{17}$"></asp:RegularExpressionValidator>

Ex 格式

01/2015,05/2015-12/2015 >>> 是的

01/2015,05/2015aa-_12/2015qwe >>> 错误

提前感谢 ;)

【问题讨论】:

  • 那么01/2015应该有效吗??

标签: c# regex html visual-studio


【解决方案1】:

你可能会使用以下正则表达式^[0-9\/,-]*$

故障
0-9 数字
\/ / 是一个转义字符,所以它需要在它前面加一个 \ 以使正则表达式知道你的意思是 / 不是转义字符
@ 987654325@ 本身就是 ,
- 最后的 - 所以它不用作从 - 到字符,而是作为减号使用

如需测试,请参阅https://regex101.com/r/sN3qY0/1

【讨论】:

    【解决方案2】:

    您的 ValidationExpression 应如下所示:

    ValidationExpression="^[0-9\/\-,]*$"
    

    Demo

    【讨论】:

    • 因为它没有将行尾检测为 $ 所以它不匹配。
    • 甚至^[0-9/\-,]* 也在那里工作。但不是在其他站点。疯狂
    • 感谢@Rahul 它正在工作! ^^
    【解决方案3】:

    试试下面的 ValidationExpression

    ^(?!.*,$|.*\d{2,})(?:([\d*#]),?(?!.*\1))+$
    

    【讨论】:

      猜你喜欢
      • 2013-07-12
      • 1970-01-01
      • 2020-04-01
      • 1970-01-01
      • 2019-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多