我已经以PDF格式创建了以下JavaScript函数:
var rgTime = /^[^0-9]{1,2}[^:][^0-9]{2}$/;
function testTimeEntry(t) {
if (rgTime.test(t)){
app.alert("Opps! Time entry is invalid. Only numbers and the colon(:) are allowed.");
event.value = "";
}
}
然后,我在时间字段的验证部分中使用testTimeEntry(event.value);
。但是,仅当我用5个字母填写该字段时,它才起作用。我基本上是试图在此字段中意外使用分号(或除冒号以外的任何东西)和字母字符。
我没有故意在字段中使用时间格式,但是我仍然需要确保输入的格式是12 hr(hh:mm)。谢谢!
答案 0 :(得分:1)
您的正则表达式字符串'debug'
仅与完全无效的字符串匹配。如果用户输入有效的“ hh”值,则此正则表达式将不匹配。例如,字符串rgTime = /^[^0-9]{1,2}[^:][^0-9]{2}$/
不会与您的正则表达式匹配。
也许查找有效输入并在无效输入时提醒他们会更容易
"11:1s"
答案 1 :(得分:1)
我会使用像这样的/[0-1][0-9]:[0-5][0-9]/