9

Web サイトに jQuery 検証プラグイン (http://docs.jquery.com/Plugins/Validation) をインストールしています。

このコードを使用して、テキスト フィールドから英数字を検証していますが、機能します。ただし、スペースとダッシュ (-) は使用できません。

$.validator.addMethod("titleAlphaNum", function(value, element, param) 
{
return value.match(new RegExp("^" + param + "$"));
}); 

スペースとダッシュで動作させる方法は? ありがとう。

4

2 に答える 2

27

動作デモ http://jsfiddle.net/cAADx/

/^[a-z0-9\-\s]+$/iトリックを行う必要があります!

g = /g 修飾子は、「置換」のすべての出現を確実にします。

i = /i は、正規表現の一致で大文字と小文字を区別しません。

よく読んでください: http://www.regular-expressions.info/javascript.html

お役に立てれば、

コード

$(function() {

    $.validator.addMethod("loginRegex", function(value, element) {
        return this.optional(element) || /^[a-z0-9\-\s]+$/i.test(value);
    }, "Username must contain only letters, numbers, or dashes.");

    $("#myForm").validate({
        rules: {
            "login": {
                required: true,
                loginRegex: true,
            }
        },
        messages: {
            "login": {
                required: "You must enter a login name",
                loginRegex: "Login format not valid"
            }
        }
    });

});​

この画像は 2 分で削除されます

ここに画像の説明を入力

于 2012-07-04T10:17:26.070 に答える
1

次の正規表現を次のように渡すとうまくいくと思いますparam

[A-za-z0-9_\-\s]+
于 2012-07-04T10:14:33.497 に答える