フォームがあり、jQuery検証プラグインを使用してそれを検証しています。今、私は10進数の入力を検証しようとしています。
次のコードを試してみましたが、機能しません。正規表現の問題、またはカスタムルールの記述方法がコードで間違っていますか?
rules: {
paid_amount: {
required:true,
rexp: ^[1-9]\d*(\.\d+)?$
},
}
},
messages: {
paid_amount: {
required: "Enter Paid Amount",
rexp:"Decimal Numbers Only"
},
}
});
見つかった番号検証方法を使用できます here
ドキュメントから:
$("#myform").validate({
rules: {
field: {
required: true,
number: true
}
}
});
あなたの場合:
rules: {
paid_amount: {
required:true,
number: true
}
},
messages: {
paid_amount: {
required: "Enter Paid Amount",
number: "Decimal Numbers Only"
}
}
申し訳ありませんが、jqueryバリデータプラグインについてはよく知りませんが、正規表現は有効です。
別のアプローチは
var reg = "/^[1-9]\d*(\.\d+)?$/"; //reg pattern<br/>
if(reg.test("1.23"))//validate
{
//do something <br/>
}
JQuery isNumeric関数を使用します: http://api.jquery.com/jQuery.isNumeric/
問題は 'rexg'メソッドにあります。 「パターン」を使用する必要があります。例:
paid_amount: {
required:true,
pattern: ^[1-9]\d*(\.\d+)?$
}