我正在尝试使用正则表达式和 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#" />
错误消息是:未捕获的语法错误:意外的标记 {
尝试#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#" />
错误消息是:未捕获的语法错误:意外的标记非法
最佳答案
似乎有两个错误:
- 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]
关于javascript - ColdFusion 表单正则表达式验证出现意外 token 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24147904/