87,997
社区成员




<script type=text/javascript>
String.prototype.chkMail = function() {
var json = {match : [], wrong : []};
this.replace(/[,;]+(?![^"]+"<)/g, "§").replace(/[^§]+(?=§|$)/g, function($) {
reg = /^"*([^<"]+)?["<]*(\b\w+@\w+(\.[a-zA-z]+){1,4})[>,;]*$/;
reg.test($) && json.match.push({name:RegExp.$1, address:RegExp.$2}) || json.wrong.push($);
})
return json
}
var str = 'abc@163.com,"小 ;明"<xiaoming@gmail.com>;错误;小雪<xiaoxue@yahoo.com.cn>;wrong.com,"小, ;,王"<xiaowang@gmail.com>';
alert(str.chkMail().match[3].name)
</script>
String.prototype.chkMail = function() {
var json = {match : [], wrong : []}, rAddr = "(\\b\\S+@([\\w\\-\\_]+\\.)+[\\w\\-]{2,7})";
this.replace(/[,;]+(?![^"]+"<)/g, "§").replace(/[^§]+(?=§|$)/g, function($) {
if(/[<>]/g.test($)){
if(/\"/g.test($)){
reg = new RegExp('^"([^<"]+)?"<'+ rAddr +'>$');
}else{
reg = new RegExp('^([^<"]+)?<'+ rAddr +'>$');
}
}else{
reg = new RegExp('^(^)'+ rAddr +'$');
}
reg.test($) && json.match.push({name:RegExp.$1, address:RegExp.$2}) || json.wrong.push($);
})
return json
}
alert(JSON.stringify('abc@163.com,"xyz"<1_1-2+abc@gmail.com>;"xyz<abc@gmail.com>;"xyz"abc@gmail.com>;"xyz"<ab c@gmail.com>;"小;,小;,明"<xiaoming@gmail.com>;错误;小雪<xiaoxue@yahoo.com.cn>;wrong.com'.chkMail()))
var str = 'abc@163.com,"小 ;明"<xiaoming@gmail.com>;错误;小雪<xiaoxue@yahoo.com.cn>;wrong.com,"小, ;,王"<xiaowang@gmail.com>'; //加了条小王
var array = str.split(/[,;](?![^"]+"<)/g);
var json = {match : [], wrong : []};
for(var i=0;i<array.length;i++){
if(/(?:"?([^"\n]*?)"?<)?(\w+@[\w.]+)/.exec(array[i])){
json.match.push({name:RegExp.$1,address:RegExp.$2});
}
else{
json.wrong.push(array[i]);
}
}
function trimString(str) {
return str.replace(/^[<"]|[>"]$/g,"");
}
var str = 'abc@163.com,"小 明"<xiaoming@gmail.com>;错误;小雪<xiaoxue@yahoo.com.cn>;wrong.com';
var o = {
match:[],
wrong:[]
};
var strarr = str.split(/[,;]/g);
var reg = /^(?:("[^"]+"|[^<]*)(?=<))?(<\w+@\w+(?:\.\w+){1,2}>|\w+@\w+(?:\.\w+){1,2})$/i;
for(var i in strarr){
if(strarr[i].match(reg)) {
o.match.push({
name:trimString(RegExp.$1),
address:trimString(RegExp.$2)
});
}
else
o.wrong.push(strarr[i]);
}
<script type=text/javascript>
String.prototype.chkMail = function() {
var json = {match : [], wrong : []};
this.replace(/(".*)(,|;)(.*")/g, "$1 $3").replace(/[^;,]+(?=,|;|$)/g, function($) {
var obj = {}, reg = /^"*([^<"]+)?["<]*(\b\w+@\w+(\.[a-zA-z]+){1,2})>*$/;
reg.test($) && (obj.name=RegExp.$1, obj.address=RegExp.$2, json.match.push(obj)) || json.wrong.push($);
})
return json
}
alert('abc@163.com,"小; 明"<xiaoming@gmail.com>;错误;小雪<xiaoxue@yahoo.com.cn>;wrong.com'.chkMail().match[2].name)
</script>
<script type=text/javascript>
String.prototype.chkMail = function() {
var json = {match : [], wrong : []};
this.replace(/[^,|;]+(?=,|;|$)/g, function($) {
var obj = {}, reg = /^"?([^;|,|<|"]*)?["<]*(\b\w+@\w+(\.[a-zA-z]+){1,2})>*$/;
reg.test($) && (obj.name=RegExp.$1, obj.address=RegExp.$2, json.match.push(obj)) || json.wrong.push($);
})
return json
}
alert('abc@163.com,"小 明"<xiaoming@gmail.com>;错误;小雪<xiaoxue@yahoo.com.cn>;wrong.com'.chkMail().match[0].address)
</script>
<script type=text/javascript>
String.prototype.chkMail = function() {
var json = {match : [], wrong : []};
this.replace(/[^,|;]+(?=,|;|$)/g, function($) {
var obj = {}, reg = /^"?([^;|,|<|"]*)?["<]*(\b\w+@\w+(\.[a-zA-z]+){1,2})>*$/;
reg.test($) && (obj.name = RegExp.$1, obj.address = RegExp.$2) &&
json.match.push(obj) || json.wrong.push($);
})
return json
}
alert('abc@163.com,"小 明"<xiaoming@gmail.com>;错误;小雪<xiaoxue@yahoo.com.cn>;wrong.com'.chkMail().match.length)
</script>
var str = 'abc@163.com,"小 明"<xiaoming@gmail.com>;错误;小雪<xiaoxue@yahoo.com.cn>;wrong.com';
var arr = str.split(/[,;](?=(?:[^"]*"[^"]*")*(?![^"]*"))/)
var obj = {match:[],wrong:[]};
var reg = /(?:"([^",;]*)"<)?(\w+@\w+\.com)>?/
for (var i=0; i<arr.length; i++)
{
if (reg.test(arr[i]))
obj.match.push({name:RegExp.$1,address:RegExp.$2})
else
obj.wrong.push(arr[i]);
}
alert(JSON.stringify(obj));