我有一个表单,其中一个输入字段正在接收电子邮件。我想将用户输入的电子邮件限制为2或其他值。
除了上一次电子邮件域扩展之后,我的代码限制了域扩展的最后几个字符,一切都在正常工作。
JSFiddle这里:http://jsfiddle.net/fd1xdohg/
这是我的代码:
HTML:
<input id="emails"></input>
<label id="lbl"></label>联署材料:
$("#emails").keypress(function () {
pEmails_tmp = extractEmails($('#emails').val());
if (pEmails_tmp.length >= 2) {
$("#emails").attr('maxlength', $('#emails').val().length);
}
});
function extractEmails(text) {
return text.match(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)/gi);
}试着给两封电子邮件,间隔空间(或任何你想要的),你会发现它不会让你写“之后的域名扩展。小点。
知道如何将输入字段限制为n个电子邮件吗?
发布于 2014-10-26 17:03:33
在您编写完域TLD的第一个字符之后,它将限定regex,并且不再允许您键入。
我解决这个问题的方法是在第二步结束时需要一个空白,然后不要再让它通过。
return text.match(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)\s/gi);
// ^^ therehttps://stackoverflow.com/questions/26575487
复制相似问题