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

允许单词之间有空格的ng模式

郎长卿
2023-03-14

我正在寻找一个正则表达式,它可以防止特殊字符,并且只允许字母、数字、破折号(-)、下划线(_)和空格。

这个正则表达式工作得很好,但是它不允许单词之间有空格。

例如,如果输入"123 456",我得到我定义的自定义错误。我如何调整这个注册,除了字母,数字,破折号和下划线之外,还允许单词之间的空间。

<input type="text" name="serialNumber" data-ng-model="SerialNumber" ng-pattern="/^[a-zA-Z0-9_-]*$/" maxlength="100"/>
<div data-ng-if="Form.serialNumber.$error.pattern" class="error">Please enter valid serial number</div>

共有3个答案

方夜洛
2023-03-14
^[a-zA-Z0-9_-]+(?:\s+[a-zA-Z0-9_-]+)*$

以这种方式构建正则表达式以捕获单词,而不是在开始或结束时捕获空格

阮雅达
2023-03-14

如果要在输入中允许空格,则需要将其包含到字符类中。

根据文件:

ngTrim(可选)
如果设置为falseAngular不会自动修剪输入。输入[type=密码]控件将忽略此参数,该参数永远不会修剪输入。

因此,如果您的输入字段不是密码字段,我建议您:

ng-pattern="/^[\w -]*$/"

\w在JS中代表[A-Za-z0-9_],下划线不必转义,字符类末尾的连字符也不需要转义。

阎兴为
2023-03-14

我想我为我的需求找到了一个非常简单和基本的解决方案,即允许字母数字、,-和空格。单词之间应留有空格,而不是前导空格和尾随空格

ng-pattern="/^[a-zA-Z0-9\_\- ]*$/"

任何人发现有问题,请告诉我。

 类似资料:
  • 我想要一个防止空白的正则表达式,只允许带标点符号的字母和数字(西班牙语)。下面的正则表达式工作得很好,但是它不允许标点符号。 例如,当使用这个正则表达式时,“Hola como estas”是可以的,但是“Hola,como estas?”不匹配。 如何将其调整为标点符号?

  • 我有一个正则表达式,允许一个大小写,一个小写,8-16个字符和大多数特殊字符,包括空间。我想在正则表达式中添加允许空间。 我曾经尝试过: > 正则表达式中的空格 Regex允许字母数字、空格和一些特殊字符 Java空间和换行正则表达式 我的正则表达式如下: 我只想在这里加一点空间。我试过和

  • 问题内容: 我使用的是条形码字体“ 9个常规中的3个免费字体”,在某些情况下,打印输出需要有多个空格,以匹配字段中的字符数。例: (项目编号后跟四个空格,以形成12个字符。如果字符数少,条形码阅读器会给我一个错误。 将强制使用多个空格,但是IE和Firefox都将它们显示为标准字体空间,并且不使用条形码字体。条形码在非空格字符之间显示为细分。(顺便说一句,只有IE 6才以正确的字体显示。)如果我使

  • 我对正则表达式模式非常陌生。我正在开发一个接受用户值(状态)的api,基于状态它将执行过滤操作,直到它工作正常。 现在,我的要求是,我希望根据以下条件接受: > 如果字符串包含多个单词,则应仅用分隔,而不能用其他符号(/)分隔。 允许使用大写和小写字母。 有效的方案: 准备发送 无效场景: > 准备好发送了吗 准备调度

  • 我在ASP.NET应用程序中有一个textbox,我需要使用正则表达式来验证用户输入字符串。要求字符串的连字符总数只能为一个。 匹配项: null 测试--您好 -测试- 测试-您好--

  • 我有以下模式来验证字符串 但在这里,它也不接受两个字符串之间的空间。有人能告诉我在上面的模式中我必须做什么改变,以便在两个字符串之间留出空间吗?但是字符串的开头和结尾不应该允许有空格。