在Livecycle中,我验证输入的数字是0到10,并且允许四分之一小时。在post的帮助下,我写了以下内容。
if (!xfa.event.newText.match(/^(([10]))$|^((([0-9]))$|^((([0-9]))\.?((25)|(50)|(5)|(75)|(0)|(00))))$/))
{
xfa.event.change = "";
};
问题是时间不被接受。我试过在括号中包装\.
,但这也不起作用。该字段是一个文本字段,没有特殊格式和更改事件中的代码。
答案 0 :(得分:1)
Yikes,这是一个令人费解的正则表达式。这可以简化很多:
/^(?:10|[0-9](?:\.(?:[27]?5)?0*)?)$/
<强>解释强>
^ # Start of string
(?: # Start of group:
10 # Either match 10
| # or
[0-9] # Match 0-9
(?: # optionally followed by this group:
\. # a dot
(?:[27]?5)? # either 25, 75 or 5 (also optional)
0* # followed by optional zeroes
)? # As said before, make the group optional
) # End of outer group
$ # End of string