将cfinput限制为有效货币值

时间:2011-02-22 16:09:42

标签: regex validation coldfusion

我的正则表达不如它应该的那么好。

我只是想将cfinput限制为有效货币(美元)值。

以下是我(未成功)使用的内容:

<cfinput 
  id="currency1" 
  maxlength="9" 
  style="text-align:right;" 
  name="currency1" 
  value="#numberFormat(variables.currency1)#"
  onchange="updateTotal(this,this.form.currency2,this.form.totalAmt);"
  type="text" 
  validate="regular_expression" 
  pattern="/^\d+(?:\.\d{0,2})?$/" 
  size="9" 
  validateAt="onblur" 
/>

我目前在使用IE 8时出现语法错误,但是我尝试使用Firefox / Firebug时使用相同的表单,并且无法让它抛出错误。

1 个答案:

答案 0 :(得分:2)

非捕获组的(?: )语法是否会导致此处出现问题?如果你尝试

怎么办?
  pattern="/^\d+(\.\d{0,2})?$/" 

或者如果仍然在IE中导致错误,这里是另一种选择

  pattern="/^[0-9]+(\.[0-9]{0,2})?$/"