一尘不染

AngularJS-使用正则表达式从输入框中删除开头和结尾的空格

angularjs

我正在编写一个正则表达式(regex),用于在满足以下条件的输入框中添加多个电子邮件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})+)*$

我在regex101.com中对其进行了测试,它的工作方式就像魅力https://regex101.com/r/bU7rU8/1

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

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


阅读 285

收藏
2020-07-04

共1个答案

一尘不染

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

参见文档

ngTrim (可选)

如果设置为“ false角度”,则不会自动修剪输入。input[type=password]控件将忽略此参数,因为它将永远不会修剪输入。

(默认值:true)

2020-07-04