[英]How to get each email address in boxed? [Javascript]
如何在输入中输入每个电子邮件地址? 一切都正常,除了输入中的设计
在邮箱中看起来像这样,而不是html格式:
<span class="emBox">hello@world.org</span>, <span class="emBox">stack@overflow.org</span>,
JavaScript的:
var textarea = $('#emails');
textarea.on({
keyup: function(e) {
if (e.which === 188) check();
},
blur: check
});
function check() {
var val = $.trim(textarea.val()),
err = '';
if (!val.length) {
err = 'No input ?';
return;
}
var emails = val.split(','),
notvalid = [],
temp = [];
$.each(emails, function(_,mail) {
mail = $.trim(mail);
if ( mail.length ) {
var m = mail.match(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)/gi);
if (m) {
temp.push('<span class="emBox">' + m + '</span>');
}else{
temp.push(mail);
notvalid.push(mail)
}
}else{
temp.push(mail);
}
if (notvalid.length) err = 'Not valid emails : ' + notvalid.join(', ');
});
$('#error').html(err);
textarea.val((temp.length ? temp : '' + emails + "").join(', '));
}
例:
那么,你正在做的只是在文本区域中插入纯文本 。
要使这些呈现为HTML,请使用容器div:
<div id="container"></div>
并在div的innerHTML中插入跨度:
var div = document.getElementById("container");
div.innerHTML = (temp.length ? temp : '' + emails + "").join(', '));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.