2010 25 6月

jquery.validate.jsの数字

メールフォームを設置するときjquery.validate.jsでエラーを出すようにしているんだけど、電話番号とかFAX番号の入力のとき、「半角以外はエラーで」と要望があった。
inputのクラスにnumberをつけると数字のみだし、digitsをつけると0〜9までの数に限定されて、電話番号とかの-(ハイフン)を入力するとエラーとしてはじかれるのでプラグインのコードを直接書き換えてみた。
今回は、無理矢理だけどdigitsに0〜9までの数だけでなくハイフンも対応させるようにした。

jquery.validate.js ver1.7の1,025行目あたりの

// http://docs.jquery.com/Plugins/Validation/Methods/digits
digits: function(value, element) {
    return this.optional(element) || /^¥d+$/.test(value);
},

の部分を、
// http://docs.jquery.com/Plugins/Validation/Methods/digits
digits: function(value, element) {
    return this.optional(element) || /^[0-9-]+$/.test(value);
},

に変更することでできた。