当前位置: 首页 > 知识库问答 >
问题:

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

邹博明
2023-03-14

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

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

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

^(([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/

共有2个答案

夹谷弘亮
2023-03-14

您想在整个字符串上允许前导/尾随空格,还是在每个地址周围允许空格?

对于前者,您的正则表达式应该是

/^(\s*([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})+\s*)*$/

对于后者

/^(\s*([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5}){1,25}\s*)+([,.](\s*([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5}){1,25})+\s*)*$/
陆文康
2023-03-14

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

看留档:

ngTrim(可选)

如果设置为falseAngular将不会自动修剪输入。对于输入[类型=密码]控件,此参数将被忽略,该控件永远不会修剪输入。

(默认值:true)

 类似资料:
  • 问题内容: 我正在编写一个正则表达式(regex),用于在满足以下条件的输入框中添加多个电子邮件ID: 多个电子邮件ID必须以逗号分隔 需要至少一个电子邮件ID 输入字段中不应包含任何空格。 所以我创建了这个正则表达式: 我在regex101.com中对其进行了测试,它的工作方式就像魅力https://regex101.com/r/bU7rU8/1 但是,当我将其与代码集成时,它可以工作, 但是在

  • 问题内容: 我很难尝试将.strip与以下代码行结合使用。 谢谢您的帮助。 问题答案: 您可以使用strip()删除尾随和前导空格。 注意:内部空间被保留

  • 我试图从地址字符串中仅选择街道/单元号。 我的正则表达式模式是 目前,我的正则表达式在任何字母字符之前匹配'/'和。然而,我想排除拖尾。 我的正则表达式匹配 Sydney Road,Manly NSW(注意“2”后面的空格字符) 而不是 新南威尔士州曼利市悉尼路 以下是一些示例地址字符串: 新南威尔士州曼利市悉尼路61/2号

  • 本文向大家介绍javascript中使用正则表达式删除前后空格的方法,包括了javascript中使用正则表达式删除前后空格的方法的使用技巧和注意事项,需要的朋友参考一下 去掉首位空格 js正则表达式删除字符串前后空格 让我们分析一下第二行的正则表达式 ^ 行开始 \s* 匹配字符前面的所有空格,贪婪模式重复 (.*?) 捕获组,勉强模式重复匹配任意字符,也就是我们最终需要(去掉前后空格后)的字符

  • 问题内容: 我正在尝试构造一个正则表达式(用于Java)以截断小数点后的零。例如 50.000→50 50.500→50.5 50.0500→50.05 -5→-5 50→50 5.5→5.5 想法是以最紧凑的形式表示实数(或整数)。 这是我构造的: 我用来捕获截断的数字字符串。 上面的模式的问题是50被截断为5。我需要某种方式来表示必须遵循(小数点)。 我尝试过使用负数落后,但没有任何匹配。 问

  • 如果我有一个= 我使用indexof方法删除所有字符,那么字符串的最终输出应该是 我已经编写了但这只会从_的第一个索引中删除字符,它将得到curr_29jan2021_061420210106999.txt,有没有任何方法可以从最后两个而不是第一个中删除字符