2017-04-25 72 views
1

我在我的PDF中有一个表单域,需要5个大写字母作为输入,或者根本没有。其他一切都应该导致错误。我得到了第一部分的工作,但我在检查一个空的领域时犯了一些错误。下面是我的javascript:Acrobat表单字段RegEx验证

event.rc = true; 
 
var myRegExp = /^[A-Z]{5}$/; 
 
var myTextInput = event.value; 
 
if (!myRegExp.test(myTextInput) || myTextInput != "") 
 
{ 
 
    app.alert("Your order number prefix must be formatted as five characters, all caps."); 
 
    event.rc = false; 
 
}

+0

我认为你只需要删除“||”。 myTextInput!=“”'。无论如何,一个空字符串不会匹配你的正则表达式。 –

+0

空字符串不应该触发错误,因此是OR语句。没有它,只要您重置PDF,错误就会出现。 –

+1

所以,现在任何非空字符串都会触发警报,对吧?将正则表达式更改为'var myRegExp =/^([A-Z] {5})?$ /'并移除“||”。 myTextInput!=“”' –

回答

0

更改正则表达式

var myRegExp = /^([A-Z]{5})?$/; 

允许空字符串匹配和删除|| myTextInput != ""条件变得无关紧要。

A (...)?组是一个可选项,因为?匹配1或0个量化子模式。