什么是正则表达式,用于验证范围为0到99999.00的十进制值

时间:2016-02-02 01:16:05

标签: javascript angularjs regex validation

我正在寻找一个正则表达式来验证十进制数在AngularJS中的范围为0到99999.00,最多为2个十进制值。我不想在angularJS中使用max,而是想使用ng-pattern。我尝试了不同的表达,但没有人满足所有条件 例如 -

  • 0 - 有效
  • 0.0 - 有效
  • 0.00 - 有效
  • 0.000 - 无效
  • 1445.02 - 有效
  • -34.39 - 无效
  • 59999.99 - 有效
  • 99999 - 有效
  • 99999.0 - 有效
  • 99999.00 - 有效
  • 99999.01 - 无效
  • 99999.99 - 无效

1 个答案:

答案 0 :(得分:1)

这应该有效:

^((?:(?!9{5})\d{1,5}(?:\.\d{1,2})?)|(?:9{5}(?:\.00?)?))$

差不多,你要确保你没有99999作为你的号码,然后匹配一个5位数字,可选择小数部分。如果这不匹配,那么你会寻找99999,可选择.0或.00。

Demo