You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AngularJS ng-pattern配置:匹配1或2位数字(0-59分钟格式)

解决AngularJS ng-pattern匹配0-59分钟的问题

首先得指出你现有代码里的正则有两处问题:一是语法错误(括号没闭合),二是逻辑上只能匹配两位数字,没法满足1位数字的需求,还会允许超过59的数值(比如99)。结合你要支持0/00到59的分钟格式需求,我给你调整一下方案:

正确的正则表达式

我们需要匹配两种合法情况:

  • 单个数字0-9(比如0、5)或者带前导0的两位数字(比如00、09)
  • 10到59的两位数字(比如15、59)

对应的正则是:/^(0?[0-9]|[1-5][0-9])$/

修正后的完整代码

把原input的max改成59(因为分钟最大是59,原max="60"不符合规则),同时替换正确的ng-pattern:

<input type="text" step="any" value="" ng-model="job.valueIntervalo" min="0" max="59" ng-pattern="/^(0?[0-9]|[1-5][0-9])$/"/>

额外说明

如果你不想允许带前导0的两位数字(比如只接受0而不是00),可以把正则改成:/^([0-9]|[1-5][0-9])$/,这样就只会匹配0-9的单个数字和10-59的两位数字。

另外,min和max属性和ng-pattern配合使用,能做双重验证:既限制输入的数值范围,又确保格式符合要求,用户体验会更顺畅。

内容的提问来源于stack exchange,提问作者Bruno Souza

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:20:00