本文介绍了将cfinput限制为有效货币值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的正则表达式不如预期。

My regex-fu is not as good as it should be.

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

I am merely trying to limit a cfinput to valid currency (dollar) values.

这是我在使用(失败)的内容:

Here is what I'm (unsuccessfully) using:

<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并且无法引发错误。

I'm currently getting a syntax error with IE 8, but I tried the same form with Firefox/Firebug and can't get it to throw an error.

推荐答案

(?:)非捕获组的语法在这里引起问题吗?如果您尝试

Could the (?: ) syntax for the non-capturing group be causing a problem here? What if you try

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

或者,如果这仍然会导致IE错误,则可以选择

Alternatively if that still causes errors in IE, here's an alternative

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

这篇关于将cfinput限制为有效货币值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-12 22:40