【问题标题】:What is the regex validation for positive and negative numbers?什么是正数和负数的正则表达式验证?
【发布时间】:2017-08-16 04:55:59
【问题描述】:

我目前有一个正则表达式验证器来限制用户只能输入大于 1 的数字。如何同时允许正数和负数?

^[1-9]+([0-9]+)*$

【问题讨论】:

  • 添加-?:^-?[1-9]([0-9]+)*$

标签: asp.net regex validation


【解决方案1】:

添加 -?会成功的:

^-?[1-9]+([0-9]+)*$

【讨论】:

    【解决方案2】:

    假设一个负数将简单地由前面的- 符号标记,那么下面的表达式应该可以工作:

    /(^|( )|\t)(-|)\d{1,}/gm

    解释:

    • 首先,(^| ) 匹配新行的开头或(因为|)一个空格(来自空格键)或一个制表符。如果您对输入周围的空白有要求,可以在本节中调整此正则表达式。
    • 接下来,(-|) 匹配 - 字符或(因为 |)不匹配
    • 然后它匹配一个数字\d,其中至少有一个数字,但可能是无限个数字(因为{1,}
    • 接下来,g 设置全局标志,允许匹配多个实例。
    • 最后,m 设置多行标志,允许匹配跨行。这是^ 换行符正确匹配所必需的。

    这是用以下情况测试的:

    -0934 sdj2a
    1328 232
    -93 2939 -192
    

    匹配组的位置: -0934,1328,232,-93,2939,-192

    【讨论】:

      猜你喜欢
      • 2017-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-09
      • 1970-01-01
      相关资源
      最近更新 更多