【问题标题】:RegExp for floating number in JavaScript with optional (multiple) commas and decimal points带有可选(多个)逗号和小数点的 JavaScript 中浮点数的正则表达式
【发布时间】:2014-11-16 22:06:49
【问题描述】:

我搜索了很多,但无法在 JavaScript 中找到 RegEx,这将允许以下点用于浮点数:

  • 正数
  • 可选,只允许有任意精度的小数点
  • 小数点前可以有任意数量的逗号(0 或更多),但小数点后不能有逗号

匹配:

  • ,1
  • .0
  • 0
  • 1,0,0,0,
  • 1,,,,
  • 0.
  • 1,

不匹配

  • .
  • ,
  • .0,
  • .,

请帮我获取满足上述要求的正则表达式

【问题讨论】:

    标签: javascript regex


    【解决方案1】:

    好像你想要这样的东西。

    ^(?=.*\d)(?!.*?\.[^.\n]*,)\d*(,\d*,?)*(\.\d*)?$
    

    DEMO

    • (?=.*\d) Lookahead 断言必须存在一个数字。
    • (?!.*?\.[^.\n]*,) 断言小数点后不存在逗号。

    【讨论】:

    • 非常感谢您的帮助!!对于我的问题中所述的所有测试用例,它对大多数情况都有效。 :-) 但我希望正则表达式也匹配 1,,,,。我的意思是小数点前可以有任意数量的逗号。
    • 非常感谢您的帮助@Avinash!它适用于我的问题中所述的所有测试用例。 :-) 但我希望正则表达式也匹配 1,,,,。我的意思是小数点前允许使用任意数量的逗号。我不需要您列出的第三个断言。请帮忙
    猜你喜欢
    • 2013-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-09
    • 2017-07-21
    • 1970-01-01
    相关资源
    最近更新 更多