我已经在我的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小时(hh:mm)。谢谢!
发布于 2018-06-27 03:38:08
您的正则表达式字符串rgTime = /^[^0-9]{1,2}[^:][^0-9]{2}$/
将只与完全无效的输入字符串匹配。如果用户输入有效的'hh‘值,则此正则表达式将不匹配。例如,正则表达式不匹配字符串"11:1s"
。
也许查找有效输入并在输入无效时向他们发出警报会更容易
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 = "";
}
}
发布于 2018-06-27 05:16:45
我会使用类似这样的/[0-1][0-9]:[0-5][0-9]/
https://stackoverflow.com/questions/51050020
复制相似问题