我尝试使用带有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
答案 0 :(得分:1)
似乎有2个错误:
/
分隔符中添加了ColdFusion,导致/
之间的mm/dd/yy
创建错误。 {n}
重复,因此您必须将[0-9]{2}
替换为[0-9][0-9]
最终表达:
[0-9][0-9]\/[0-9][0-9]\/[0-9][0-9]