1

基本的に私がやろうとしているのは、フォームを検証することです。スペースを許可したいフィールドの1つで:

私は使用しています:

$.validator.addMethod(
    "legalname",
    function(value, element) {
        return this.optional(element) || /^[a-zA-Z0-9()._-\s]+$/.test(value);
    },
    "Illegal character. Only points, spaces, underscores or dashes are allowed."
);

$("#editform").validate({
    rules: {
        name: {
            required: true,
            legalname: true
        },
    });

これは Safari では機能しますが、Firefox では機能せず、「文字クラスの無効な範囲」が表示されます。これを機能させる方法はありますか?

4

1 に答える 1

4

をエスケープしてみてください-: ここでわかるように: Working demo : http://jsfiddle.net/svp6D/2

/^[a-zA-Z0-9()._\-\s]+$/

文字クラス ( []) 内でエスケープする必要がある文字は次のとおりです。

- \ / [] ^
于 2012-06-24T08:14:39.583 に答える