我需要从字符串中提取电子邮件。 所需的输出是包含电子邮件之前的文本部分的数组, 电子邮件, 以及电子邮件之后的文字。
selection = 'Integer lectus nisi, facilisis sit amet@blabla.test eleifend nec, pharetra ut augue.';
part[0] = 'Integer lectus nisi, facilisis sit ';
part[1] = 'amet@blabla.test';
part[2] = ' eleifend nec, pharetra ut augue.';
到目前为止我所提供的是一个提取电子邮件的功能,但我还需要之前和之后的部分。
function extractEmails(selection){
return selection.match(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)/gi);
};
$output = extractEmails(selection); //returns 'amet@blabla.test'
如何做到这一点?谢谢!
答案 0 :(得分:0)
你可以这样试试,
var selection = 'Integer lectus nisi, facilisis sit amet@blabla.test eleifend nec, pharetra ut augue.';
var email = selection.match(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)/gi)[0];
//console.log(email);
var desiredElement = selection.split(email);
Array.prototype.insert = function (index, item) {
this.splice(index, 0, item);
};
desiredElement.insert(1, email);
console.log(desiredElement);
js fiddle:https://jsfiddle.net/6gg93ff6/5/
答案 1 :(得分:0)
此代码可能对您有所帮助:
newLine: ""
答案 2 :(得分:0)
y
答案 3 :(得分:0)
感谢您的回答和建议!
我可以用以下方法解决:
function extractEmails(string){
return string.split(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)/gi);
};
function parse(string){
var i;
var array = extractEmails(string);
var myAssociativeArr = [];
for (i = 0; i < array.length; ++i) {
var newElement = {};
if(array[i].match(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)/gi)){
newElement['email'] = '[email_image,string=' + array[i] + ',id=2]';
}else{
newElement['text'] = array[i];
}
myAssociativeArr.push(newElement);
}
console.log(myAssociativeArr);
}
var string = 'Integer lectus nisi, facilisis sit email1@blabla.test eleifend nec, pharetra ut augue Duis aute irure dolor in reprehenderit in voluptate velit esse email2@blabla.test cillum dolore eu fugiat nulla pariatur.';
parse(string);
输出:
[Object { text="Integer lectus nisi, facilisis sit "},
Object { email="[email_image,string=email1@blabla.test,id=2]"},
Object { text=" eleifend nec, pharetra ...n voluptate velit esse "},
Object { email="[email_image,string=email2@blabla.test,id=2]"},
Object { text=" cillum dolore eu fugiat nulla pariatur."}]