[問題] Javascript驗證email的語法

看板Ajax作者 (Ayanami Satoshi)時間14年前 (2012/04/05 02:32), 編輯推噓2(206)
留言8則, 2人參與, 最新討論串1/2 (看更多)
驗證email格式 同時含有'@'和'.'字元 '@'後必須有'.',且中間至少間隔一個字元 '@'不為第一個字元,'.'不為最後一個字元 '@'前至少3字元以上 須為'.com'結尾 語法是這樣 var EmailString=document.MyForm.MyEmail.value; var strLength=EmailString.length; var index1=EmailString.indexOf("@"); var index2=EmailString.indexOf(".",index1); index3=EmailString.indexOf(".com",EmailString.length-4); (其實index3這行我不確定究竟要不要var 因為剛試發現都跑得出來) 宣告變數後 再設定以下條件就可以完成 if(index1==-1 || index2==-1 || index2<=index1+1 || index1==0 || index2==strLength-1 || index1<3 || index3!=(EmailString.length-4)) 我現在的問題在於 如果要將條件修改為 "驗證結尾必須是.tw或.com" 該怎麼寫比較好? 我頂多只知道如何只驗證為.com結尾 卻不知如何設定同時驗證是否為.com或.tw的條件 -- わたしを騙せるのなら 若要欺騙我 作り上げた「本当」を守ってみせて 就謹守你杜撰的「真實」 君を裁く劔なら 因為制裁你的劍 いつだってこの手に持っているから 我總是握在手裡 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 175.182.25.85 ※ 編輯: satoshi3 來自: 175.182.25.85 (04/05 02:33)

04/05 09:14, , 1F
用正規表示式。然後上網去抓現成的表示式來用
04/05 09:14, 1F

04/05 09:15, , 2F
index3那一行不打var會變成全域變數喔
04/05 09:15, 2F

04/05 13:00, , 3F
感謝樓上~我研究了一下也覺得正規表示比較好OTL
04/05 13:00, 3F

04/05 13:00, , 4F
不過如果是非得用我文中的寫法的話~該怎麼改比較好呢?
04/05 13:00, 4F

04/05 13:07, , 5F
還是會想知道XD
04/05 13:07, 5F

04/05 14:11, , 6F
樓下那篇寫的蠻詳細的....
04/05 14:11, 6F

04/05 21:08, , 7F
我知道~是正規表示法~是想問如果是按照我原先用的寫法
04/05 21:08, 7F

04/05 21:09, , 8F
因為會想多學點Q_Q總之還是謝謝囉>__<!
04/05 21:09, 8F
文章代碼(AID): #1FV9F1bd (Ajax)
討論串 (同標題文章)
文章代碼(AID): #1FV9F1bd (Ajax)