2016-05-29 6 views
1

単純なフォームとデータの検証を行っていましたが、indexofを使って "@"と "。"があることを確認しています。メールアドレスには常に-1が返されます。Indexof()が-1を返す

var custEmail = document.getElementById("custEmail"); 
if (custEmail.value == "" || custEmail.value.indexOf("@" == -1) || custEmail.value.indexOf("." == -1)) 
{ 
    alert("You must enter a valid Email address!\n" 
} 

私は別の文字の代わりのシンボルにIndexOfのチェックを変更しようとしましたが、それはまだ私が私が間違ってデータを取得しようとしていると思わせるこれは、-1を返します。

+4

それはcustEmail.value.indexOf( "@")==です - 1、not indexOf( "@" == -1) –

+2

ああ私は馬鹿です。私は睡眠不足を責める。これはそれだった。ありがとう。 –

答えて

2

あなたの括弧は、あなたがHTML5の入力タイプの電子メールを使用することができます間違った場所に

custEmail.value.indexOf("@") == -1 || custEmail.value.indexOf(".") == -1 
0

あるのではなく検証を書いて自分が

<input type="email"/> 
+0

これは完全に機能しているはずのものよりもスキルの練習なので、手動でやりたいと思っています。 –

+0

大丈夫、正規表現を使ってスキル開発の一部としてこれらのバリデーションを行うこともできます –

関連する問題