2

jQuery Validate で通貨をチェックするための「完璧な」正規表現を見つけたと思いますが、ユーザーが末尾に 1 つの小数点または 1 桁の小数点を置くことを許可しているようです。

一致: 700. および 3.0

正規表現:

^\$?([1-9]{1}[0-9]{0,2}(\,[0-9]{3})*(\.[0-9]{0,2})?|[1-9]{1}[0-9]{0,}(\.[0-9]{0,2})?|0(\.[0-9]{0,2})?|(\.[0-9]{1,2})?)$

http://gskinner.com/RegExr/で遊んでいますが、小数の問題を修正するために適切な場所で変更できないようです。

現在、必要なものすべてに一致します:

700,000 700,000.00 700000

興味のある方のために、@Kolink の正規表現を使用した jQuery バリデータ addMethod を次に示します。

jQuery.validator.addMethod("currency", function(value, element) {
     return this.optional(element) || /^\$?(?=.)(?:[1-9]\d{0,2}(?:,?\d{3})*)?(?:\.\d{2})?$/.test(value);
}, "Please enter a valid number.");
4

2 に答える 2