ColdFusion表单正则表达式验证时出现意外的令牌错误

时间:2014-06-10 18:01:33

标签: javascript regex validation coldfusion

我尝试使用带有CFFORMS的正则表达式进行日期验证,但是获取了一个javascript语法错误,导致验证无法正常运行。运行CF10并查看所有浏览器上的javascript错误。

日期格式应为MM / DD / YY。

我在下面尝试了两种不同类型的正则表达式,但没有成功。

<cfset today = DateFormat(now(), "mm/dd/yy") />

尝试#1

<cfinput type="text" name="orderDate" id="orderDate" maxlength="8" size="12" validate="regex" pattern="[0-9]{2}/[0-9]{2}/[0-9]{2}" message="Please enter a Date Order Entered in MM/DD/YY format" value="#today#" />

错误消息是:未捕获的SyntaxError:意外的令牌{

尝试#2

<cfinput type="text" name="orderDate" id="orderDate" maxlength="8" size="12" validate="regex" pattern="^(\d{2})/(\d{2})/(\d{2})$" message="Please enter a Date Order Entered in MM/DD/YY format" value="#today#" />

错误消息是:未捕获的SyntaxError:意外的标记ILLEGAL

1 个答案:

答案 0 :(得分:1)

似乎有2个错误:

  • /分隔符中添加了ColdFusion,导致/之间的mm/dd/yy创建错误。
  • ColdFusion不支持{n}重复,因此您必须将[0-9]{2}替换为[0-9][0-9]

最终表达:

[0-9][0-9]\/[0-9][0-9]\/[0-9][0-9]