RegEx允许数字和只有一个点 - 例如它不应该允许1.1

时间:2016-04-07 10:08:28

标签: regex ng-pattern

我希望我的小时输入字段只允许小数点2nd小数点(只有一个点的数字)。

我将此表达式用于相同的/^[0-9]+(\.[0-9]{1,2})?$/,这样就不允许使用1.1.

1 个答案:

答案 0 :(得分:2)

模式匹配正确的输入类型。输入的类型应设置为text:

<input type="text" ng-pattern="/^[0-9]+(\.[0-9]{1,2})?$/" />

type="number"不支持正则表达式验证检查。

<强>更新

要仅允许1到60之间的浮点/整数值,请使用

/^([1-9]|[1-5][0-9]|60(\.0{1,2})?$)(\.[0-9]{1,2})?$/

请参阅the regex demo

  • ^ - 开始刺痛
  • ([1-9]|[1-5][0-9]|60(\.0{1,2})?$) - 以下之一:
    • [1-9] - 从19的数字(不允许0
    • [1-5][0-9] - 10到59之间的数字
    • 60(\.0{1,2})?$ - 60可选地跟随.0.00,然后字符串的结尾应该跟随
  • (\.[0-9]{1,2})? - 可选(1或0).后跟1或2位数...
  • $ - 字符串
  • 的结尾