web-dev-qa-db-ja.com

jQueryでの正規表現フィールド検証

JQueryには、文字列内の特定の正規表現と一致するために使用できる関数/プラグインがありますか?

たとえば、電子メールの入力ボックスで、電子メールアドレスを取得し、それが正しい形式であるかどうかを確認します。検証する正規表現が入力と一致するかどうかを確認するには、どのjQuery関数を使用する必要がありますか?

私は解決策を探しましたが、何も見つかりませんでした。

74
anand.trex

私はこれがそれをすると信じています:

http://bassistance.de/jquery-plugins/jquery-plugin-validation/

URLや電子メールアドレスなどのパターンが組み込まれているため、独自のパターンを使用することもできます。

26
Daniel Schaffer

正規表現に基づいていくつかの要素を検索する場合は、filter関数を使用できます。たとえば、すべての入力ボックスでユーザーが数字のみを入力したことを確認したい場合、一致しないすべての入力を見つけて強調表示します。

$("input:text")
    .filter(function() {
        return this.value.match(/[^\d]/);
    })
    .addClass("inputError")
;

もちろん、これがこのようなものであれば、フォーム検証プラグインを使用できますが、このメソッドは任意の種類の要素に適用できます。意味を示す別の例:id/[a-z]+_\d+/と一致するすべての要素を検索します

$("[id]").filter(function() {
    return this.id.match(/[a-z]+_\d+/);
});
83
nickf

私はjQueryとJavaScriptを使用していますが、私にとってはうまくいきます:

var rege = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
if(rege.test($('#uemail').val())){ //do something }
30
Klatys

特定の何かを探している場合を除き、文字列を含む通常のJavascriptを使用して、すでに正規表現のマッチングを行うことができます。

たとえば、次のような文字列を使用してマッチングを行うことができます...

var phrase = "This is a phrase";
phrase = phrase.replace(/is/i, "is not");
alert(phrase);

一般的な正規表現マッチング以外に探しているものはありますか?

26
Hugoware

私のコード:

$("input.numeric").keypress(function(e) { /* pour les champs qui ne prennent que du numeric en entrée */          
            var key = e.charCode || e.keyCode || 0;                     
            var keychar = String.fromCharCode(key);
            /*alert("keychar:"+keychar + " \n charCode:" + e.charCode + " \n key:" +key);*/
            if (  ((key == 8 || key == 9 || key == 46 || key == 35 || key == 36 || (key >= 37 && key <= 40)) && e.charCode==0) /* backspace, end, begin, top, bottom, right, left, del, tab */
                    || (key >= 48 && key <= 57) ) { /* 0-9 */
                return;
            } else {
                e.preventDefault();
            }
        });
2
bilelz