要检查输入类型“时间”字段是否已完成(上午09:00),我使用了正则表达式。
ng-pattern="\b((1[0-2]|0?[1-9]):([0-5][0-9]) ([AaPp][Mm]))"
但是在同一个正则表达式中,我想检查输入字段是否为空。有关更多信息,时间字段可以为空或已完成(例如:)(上午09:30)
任何人都可以帮我解决这个问题。
答案 0 :(得分:2)
在ng-pattern
中,您需要使用
ng-pattern="/^(?:(?:1[0-2]|0?[1-9]):[0-5]\d\s*[AaPp][Mm])?$/"
如果您需要避免前导/尾随空格,请添加ng-trim="false"
。
请参阅此regex demo。
(?:...)?
可选的非捕获组是整个模式的包装器,它是可选的,即可以匹配空字符串。
^
锚点只会在字符串的开头匹配,而$
会将匹配项锚定在字符串的末尾,以便整个字符串匹配。
答案 1 :(得分:0)
如果有人像我一样正在寻找欧洲时间格式(00:00-23:59)的正则表达式,那么这里是该正则表达式:
^(?:1[0-9]|2[0-3]|0?[0-9]):[0-5]\d{1}?$
希望这可以帮助某人节省一两分钟。