[問題] 用 Javascript 驗證 E-mail 信箱
想用 Javascript 的 RegExp 來驗證 E-mail 信箱,目前是這樣寫:
<script type="text/javascript"><!--
function check(mail) {
var filter = /^[\w+-.]+@[\w-.]+[a-z]{2,4}$/;
(filter.test(mail)) ? alert('信箱正確') : alert('信箱錯誤');
}
--></script>
<input id="mail" type="text" />
<button onclick="check(document.getElementById('mail').value)">驗證</button>
雖然大致上都沒問題,如果像這樣 user@server.x 也過不了。
奇怪的是,user@server.xxxxx 還是可以通過驗證。
請問是為什麼呢?應該怎麼寫才正確呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.199.72
推
12/11 16:15, , 1F
12/11 16:15, 1F
→
12/11 16:17, , 2F
12/11 16:17, 2F
→
12/11 16:17, , 3F
12/11 16:17, 3F
謝謝,不過這樣改的話,會變成 user.name@msa.hinet.net 這類的信箱過不了。
推
12/12 04:05, , 4F
12/12 04:05, 4F
沒錯,所以 .x 結尾的信箱過不了,是我希望的結果。
但是 .xxxxx 結尾的信箱卻過濾不掉。
※ 編輯: chweng 來自: 140.116.199.72 (12/12 12:25)
推
12/12 15:05, , 5F
12/12 15:05, 5F
→
12/12 15:07, , 6F
12/12 15:07, 6F
推
12/12 20:44, , 7F
12/12 20:44, 7F
推
01/04 18:16, , 8F
01/04 18:16, 8F
RegExp 近期熱門文章
PTT數位生活區 即時熱門文章