作者satoshi3 (Ayanami Satoshi)
看板Ajax
标题[问题] Javascript验证email
时间Thu Apr 5 02:32:30 2012
验证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)
1F:推 LaPass:用正规表示式。然後上网去抓现成的表示式来用 04/05 09:14
2F:→ LaPass:index3那一行不打var会变成全域变数喔 04/05 09:15
3F:→ satoshi3:感谢楼上~我研究了一下也觉得正规表示比较好OTL 04/05 13:00
4F:→ satoshi3:不过如果是非得用我文中的写法的话~该怎麽改比较好呢? 04/05 13:00
5F:→ satoshi3:还是会想知道XD 04/05 13:07
6F:推 LaPass:楼下那篇写的蛮详细的.... 04/05 14:11
7F:→ satoshi3:我知道~是正规表示法~是想问如果是按照我原先用的写法 04/05 21:08
8F:→ satoshi3:因为会想多学点Q_Q总之还是谢谢罗>__<! 04/05 21:09