下面是我曾经在51js上提出的问题,“客服果果”给我的解答:
采用js正则表达式方法:
function _1($){
var _=/[^<@]+@[^>]+/g;
return $.match(_);
}
function _2($){
var _=/[\w\.\+-]+@[\w\.\+-]+/g;
return $.match(_);
}
function _3($){
var _=/^[^<]+<|>[^<]+<|>$/;
return $.split(_);
}
function _4($){
var _=/^[^<]+<|>[^<]+<|>$/g;
return $.replace(_,'|').replace(/^\|/,'').split('|');
}
function _5($){
for (var i=0,_='',x,__=[];i<$.length;i++ ) {
var $$=$.charAt(i);
switch ($$){
case '<':x=true; continue;
case '>':x=false; __.push(_);_=''; continue;
}
if(x)_+=$$;
}
return __;
}
function _6($){
for(var i=0,$$=$,_=[],a=0;;){
a=$$.indexOf('<')+1;
if(a==0)break;
i=$$.indexOf('>');
_.push($$.slice(a,i));
$$=$$.slice(i+1);
}
return _;
}
emailAddr = ' "aa"<aa@163.com>; "bb"<bb@126.com>; "cc"<cc@yahoo.com.cn>';
alert(_1(emailAddr).join('\n'));
alert(_2(emailAddr).join('\n'));
alert(_3(emailAddr).join('\n'));
alert(_4(emailAddr).join('\n'));
alert(_5(emailAddr).join('\n'));
alert(_6(emailAddr).join('\n'));
本文介绍了一种使用JavaScript正则表达式来解析电子邮件地址的方法。通过六个不同的函数实现对包含特殊HTML标签的电子邮件地址字符串进行匹配和拆分。这些函数能够有效地从给定的字符串中提取出合法的电子邮件地址。

被折叠的 条评论
为什么被折叠?



