2016-07-15 7 views
0

私はフォームを作成してJSで検証しています。私は電子メールIDをオプションにしたいと思っています。どちらか私は空白のままにすることができます。しかし、フィールドに型が入力されている場合にのみ電子メールIDを検証したいと考えています。そして、私はregexeを使用する必要があります。JavaScriptでオプションのフォームでメールIDを作成する方法

"email":{ 
     "regex":"/^([\.a-z0-9_\-]+[@][a-z0-9_\-]+([.][a-z0-9_\-]+)+[a-z]{1,4}$)/i", 
     "alertText":"* Invalid email address"} 

私はここでどのような変更を行う必要がありますか?

+0

電子メールフィールドが空であることを確認します。コードを表示 – Ibu

+0

空または有効な電子メールアドレスのOR条件を確認し、コードを入力します。 –

+0

コードが非常に長いです。実際にはプラグインです。だから私はここで変更を加えなければならない。私は他のコードを混乱させたくありません。これは緊急のことです。正規表現の部分で何もできませんか? – Niroshan

答えて

0

はあなたが私が考える2段階の検証を行う必要があるだろう、この

var $email = $('form input[name="email'); //change form to id or containment selector 
var re = /[A-Z0-9._%+-][email protected][A-Z0-9.-]+.[A-Z]{2,4}/igm; 
if ($email.val() != '' && !re.test($email.val())) 
{ 
    alert('Please enter a valid email address.'); 
    return false; 
} 
1

を試してみてください。電子メールフィールドが空の場合は、別の妥当性チェックを適用します。私は他の方法を知らない

if (str === '') { 
    validations['email'] = {} 
} else { 
    validations['email'] = { 
    // email validation 
    } 
} 

そのそれを行うには:それはJavascriptですので

あなたのような何かを行うことができます。たぶん、条件チェックのような正規表現を使ってできることがありますが、正規表現がどのように動作するか考えてみると、可能であるとは思えません。

+0

1つの条件文を持つだけで、単純化することができます。 'if(str)// do validations'それは電子メールの妥当性を検証します。str(*電子メールの入力値*)は真実の値を返します。 –

+0

うん、私はそれを考えていたが、それを変更するのは面倒ではなかった。最初の値でデフォルトのものをデフォルトにして、後で単一の演算子でクリアするのはかなりクールです。そういうのはいいですね。 :D – user3254198

0

それを試してみてください。

if(email.length > 0) { 
    //Test Email is Valid Or Not 
} 

決勝コード:

<html> 
 
    <head> 
 
    </head> 
 
    <body> 
 
     Enter Email : <input type="text" id="txt"> 
 
     <button onclick="isValid()">Test</button> 
 
     <script> 
 
      var ele = document.getElementById("txt"); 
 
      function isValid(){ 
 
       var email = ele.value; 
 
       var patt = /^[a-zA-Z0-9_\-][email protected][a-zA-Z0-9_\-]+\.[a-z]{1,4}$/i; 
 
       if(email.length > 0) { 
 
        if(patt.test(email)) 
 
         alert("Valid Address Email"); 
 
        else 
 
         alert("Invalid address Email"); 
 
       } 
 
       else 
 
        alert("Email is Empty : Valid Address Email"); 
 
        
 
      } 
 
      
 
      
 
     </script> 
 
    </body> 
 
</html>

0

Check links

<input style="margin-top: 20px;" type="text" placeholder="Enter an Email ID" name="Email" id="Email" pattern="((\w+\.)*\w+)@(\w+\.)+(com|kr|net|us|info|biz)" required="required"> 

関連する問題