0

文字列が空のままであるか、無効なURLである場合にエラーが発生するように、位置絶対jQuery検証プラグインで機能する正規表現を作成しようとしました。これはUR1に対してはうまく機能しますが、空の文字列が存在する場合でもエラーは発生しません。これが正規表現です

 "regex": /^\S$|^(http[s]?:\/\/){0,1}(www\.){0,1}[a-zA-Z0-9\.\-]+\.[a-zA-Z]{2,5}[\.]{0,1}/,

誰かが正規表現の何が問題になっているのかわかりますか?

編集:

このプラグインをjQueryの検証に使用しています

デモ:このURLに移動し、[URL検証]セクションでHTTPを削除して、エラーメッセージを確認します

http://www.position-relative.net/creation/formValidator/demos/demoValidators.html

requiredバリデーターとURLバリデーターを一緒に追加すると、2つのエラーが発生します。しかし、URLバリデーターだけでは、それが無効なURLであるとは言えません。空のURLと無効なURLの両方に対して1つのエラーが必要です。

https://github.com/posabsolute/jQuery-Validation-Engine

ありがとう

4

3 に答える 3

0

jQueryのURL検証方法を試しましたか?

于 2012-11-13T09:50:29.453 に答える
0

を使用してすべてのエラーに同じ一般的なエラーメッセージを設定できるdata-errormessageため、フィールドが空であるか無効な値であるかに関係なく、同じメッセージが表示されます。

于 2012-11-13T09:55:41.520 に答える
0

メールを本当にすばやく簡単に検証する方法の小さな例を書きました。プラグインを使用する手間をかけずに。一度だけ使えば

var emailaddressVal = 'nobody@example.cpom';

var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
if(emailReg.test(emailaddressVal) && emailaddressVal.length > 0)
{
    alert('Your email is valid.');
}
else
{
    alert('The email is invalid')
}

ただし、複数回使用できるように関数に入れます。たとえば、関数に入れるよりも:

// Email check function 
function checkEmail(email)
{
    var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
    if(emailReg.test(email) && email.length > 0)
    {
        return true;
    }
    else
    {
        return false;
    }
}

// Ussage 
if(checkEmail('nobody@example.com'))
{
    alert('SUCCESS!!');
}
else
{
    alert('FAILED!!');
}
于 2012-11-13T09:59:30.187 に答える