AngularJS - 使用正则表达式从输入框中删除前导和尾随空格

Moh*_*dey 5 regex html5 angularjs

我正在编写一个正则表达式(正则表达式),用于在输入框中添加多个电子邮件ID,条件如下:

  1. 必须使用逗号分隔多个电子邮件ID ,
  2. 需要至少有一个电子邮件ID
  3. 输入字段中不应有任何空格.

所以我创建了这个正则表达式:

^(([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5}){1,25})+([,.](([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5}){1,25})+)*$
Run Code Online (Sandbox Code Playgroud)

我在regex101.com上测试了它,它的工作就像一个魅力https://regex101.com/r/bU7rU8/1

但是当我将它与代码集成时,它可以工作,但在前导和尾随空格上失败.

这是演示链接:http://jsfiddle.net/2G8gA/330/

Wik*_*żew 11

AngularJS默认修剪输入,因此您需要使用ng-trim="false"以便将前导和尾随空格传递给pattern正则表达式.

文档:

ngTrim(可选)

如果设置为falseAngular,则不会自动修剪输入.对于input[type=password]控件,将忽略此参数,这些控件永远不会修剪输入.

(默认值:true)