我想要一个angularjs形式的表单字段,这样我就可以输入多个以逗号分隔的电子邮件ID,并以数组形式在$ scope对象中进行更新。 例如。在表单字段中,我输入了电子邮件ID:ads@gmail.com,aman @ gmail.com,qaz @ yahoo.com 现在在我的$ scope变量(比如' $ scope.emails')中,我希望它们像[" ads@gmail.com" ;," aman @ gmail一样更新。 com"," qaz@yahoo.com"]发布表单。 我是angularjs的初学者,并且在这个阶段停留了。请帮助我摆脱这种情况。
答案 0 :(得分:1)
你可以
$scope.emailField
之类的内容。 ng-blur
绑定范围上的函数以解析$scope.emailField
的值(以逗号分隔)$scope.emails
。答案 1 :(得分:0)
答案 2 :(得分:0)
我认为@Leon li的解决方案很好,但是为了添加替代方案,您可以使用REGEX处理字段的输入,然后再将其发送到服务器。
/\s*(?:([a-z0-9.!#$%&’*+=?^_`{|}~-]+@(?:[a-z0-9-]+\.){1,3}(?:[a-z0-9-]+)(?::[0-9]+)?))\s*/gi
该表达式几乎可以接受任何类型的电子邮件,并且每个匹配将被放入其自己的匹配组中。然后你会像这样处理它:
function processEmails (fieldValue)
{
var output = [];
var match = fieldValue.match (emailRegex);
if (!match)
{
//No emails entered. Handle error here
}
else
{
//The first index (0) is not a matching group
for (var i = 1; i < match.length; i++)
{
output.push (match[i]);
}
}
return output;
}