-1

英数字と空白のテキストのみをフィルタリングする次の検証コードがあります...しかし、空白を含む2つの英数字の単語をテストすると、失敗します...

$.validator.addMethod("alphaNumeric", function(value, element) {
    $(element).val(value.replace(/^\s+|\s+$/g,''));
    return /^[a-zA-Z0-9 ]*$/.test(value);
}, " AlphaNumeric Only!");

コードの何が問題になっていますか?

4

1 に答える 1

2

入力値を変更しますが、検証でチェックしている値は変更しません。

$.validator.addMethod("alphaNumeric", function(value, element) {
    value = value.replace(/^\s+|\s+$/g,'');
    $(element).val(value); //element.value = value
    return /^(?:(?:[a-zA-Z0-9]+ *)+)$/.test(value);
}, " AlphaNumeric Only!");

置換/トリム方法が検証ルールに含まれるべきかどうかわかりません。しかし、これは機能するはずです。

于 2012-10-24T13:12:32.907 に答える