Ограничить cfinput действительными значениями валюты - PullRequest
0 голосов
/ 22 февраля 2011

Мое регулярное выражение не так хорошо, как должно быть.

Я просто пытаюсь ограничить 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 Ответ

2 голосов
/ 23 февраля 2011

Может ли синтаксис (?: ) для группы без захвата быть причиной проблемы здесь? Что если вы попробуете

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

В качестве альтернативы, если это все еще вызывает ошибки в IE, вот альтернатива

  pattern="/^[0-9]+(\.[0-9]{0,2})?$/" 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...