【发布时间】:2017-10-26 04:03:49
【问题描述】:
我在使用 Angular 1.6 的网站上有一个表单,其中一个字段允许用户输入应执行操作的帐户 ID。 (实际上有几种形式都由同一个控制器驱动。)
要求用户用任何非字母数字字符分隔 ID。
但是,在这些表单的某些实例中,我需要限制可以指定的 ID 数量。 (所有 ID 都符合 [a-z0-9] 模式。)我已经接近了使用以下 RegEx 模式和 ng-pattern 所需的内容。正则表达式存储在 app.js 中的 var 中,并且在 HTML 中引用了 var:
new RegExp(`^(?:(?=([a-z0-9]+))\\1[^a-zA-Z0-9]*){1,${maxSites}}$`);
不幸的是,这也会匹配帐户 ID 后的逗号、空格等。例如,我的 RegEx 不应该匹配 foobar,(“foobar”后跟逗号和空格)。
这是一个表格,显示了我期望基于maxSites 的正则表达式匹配:
有没有办法用 RegExp 做到这一点?
【问题讨论】:
标签: javascript angularjs regex