0
$.validator.addMethod('username', function (value) {
    return [A-Za-z0-9\-\_]+.test(value);
}, 'Username can only contain letters, numbers, underscores and dashes.');

私は正規表現や jQuery/JavaScript が苦手なので、これはほとんど不可能です。

ユーザー名を検証して、数字、文字、アンダースコア、およびダッシュ (スペース、ピリオドなどを含まない) のみが含まれていることを確認するメソッドを追加したいだけですが、正しく取得できないようです。

どんな助けでも大歓迎です。

4

2 に答える 2

2

ここには 2 つの問題があります。1 つ目は、正規表現には区切り文字が必要です。2 つ目は、正規表現は、文字列全体がこれらの文字で構成されているかどうかをチェックしません。

var regex = /^[\w-]+$/;
return regex.test(value);

また、正規表現を少し短くしました (文字クラスは同じです)。

于 2012-10-31T19:17:46.357 に答える
0

コードを次のように変更します。

return (value.match(/^[A-Za-z0-9-_]+$/));
于 2012-10-31T19:17:33.070 に答える