繁体   English   中英

使用正则表达式验证PDF表单中的时间输入字段

[英]Using a regular expression to validate a time entry field in a PDF form

我已经以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)。 谢谢!

您的正则表达式字符串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 = "";
}
}

我会使用类似/[0-1][0-9]:[0-5][0-9]/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM