6

コードは次のとおりです。

<input id="subscribe-email" type="email" placeholder="john.doe@example.com" />
            <button type="submit" id="subscribe-submit" onClick="javascript:omgemailgone();" />

電子メールが有効な場合(ユーザーエージェントによる検証、追加の検証なし)にのみJS機能をチェックして実行するにはどうすればよいですか?

アップデート。新しいブラウザは、input = emailを自分で検証できます。また、疑似クラス:validと:invalidもあります。メールが有効であることをブラウザが「知っている」場合にのみ関数を実行する必要があります。

4

4 に答える 4

9

入力要素(この場合はメール入力フィールド)の.checkValidity()メソッドを使用できます。これは、入力が有効かどうかを示すブール値を返します。ここで遊ぶフィドルは次のとおりです。

http://jsfiddle.net/QP4Rc/4/

そしてコード:

<input id="subscribe-email" type="email" required="required" placeholder="john.doe@example.com" />

<button type="submit" id="subscribe-submit" onClick="check()">
click me
</button>

function check()
{
  if(!document.getElementById("subscribe-email").checkValidity())
  {

    //do stuff here ie. show errors
    alert("input not valid!");

  }else
  {
      callMeIfValid();
  }
}

function callMeIfValid()
{
  //submit form or whatever
  alert("valid input");
}
于 2013-03-21T21:51:40.133 に答える
1

正規表現を使用して、電子メールが自分のomgemailgone():で有効であることを確認できます。

function omgemailgone (){
   var mail = $('#subscribe-email').val();

   //Example of regular expression
   if(mail.match(/YourRegexp/)
   {
      //Do stuff
   }
   else alert("Invalid e-mail");

}

(ここでjQueryを使用)

于 2013-03-21T16:57:01.550 に答える
1

JavaScriptでメールアドレスを検証しますか?検証のために、それをomgemailgoneメソッドのifステートメントに実装します(有効な場合は続行し、それ以外の場合は何もしません)

編集:

function validateEmail(email) { 
    var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\
".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA
-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
    return re.test(email);
}

リンクから

于 2013-03-21T16:57:44.020 に答える
0

電子メールを検証し、trueまたはfalseを返す関数が必要 ですか?JavaScriptで電子メールアドレスを検証しますか?

<button type="submit" id="subscribe-submit" onClick="javascript:validateEmail(document.getElementById('subscribe-email').value) ? omgemailgone() : alert('email is wrong dude');" />

これは迅速な解決策です。インラインのonclickjsを使用せずに、適切に実行することをお勧めします。

于 2013-03-21T16:57:43.433 に答える