AngularJs 模式正则表达式

AngularJs ng-pattern regex

我正在努力为 angular ng-pattern 编写正则表达式来验证表单输入 field.An 下面是可能的输入示例

有效输入:

@tag1,@tag2,@tag3
@tag1, @tag2, @tag3
@tag1

无效输入:

@tag 1
@tag 1, @tag2, @tag  -3
@ta g1, @t ag2

基本上它应该允许逗号和逗号空格,但不允许标签之间有空格。

我已经编写了一个匹配所有无效输入的正则表达式,但是当我在 ng-pattern 中使用它时,它没有进行正确的验证。

内置正则表达式:/((^, @|@\s+)|@*[a-zA-Z0-9]* +[a-zA-Z0-9])/g Link: https://regex101.com/r/HMVdLD/1

非常感谢任何帮助!

我建议定义一个模式来匹配有效输入,比如

ng-pattern="/^@[a-zA-Z0-9]+(?:,\s*@[a-zA-Z0-9]+)*$/"

regex demo

如果您想禁止前导和尾随空格,请添加 ng-trim="false"

图案详情:

  • ^ - 字符串开头
  • @ - 文字 @ 符号
  • [a-zA-Z0-9]+ - 1+ 个字母数字
  • (?:,\s*@[a-zA-Z0-9]+)* - 0+ 个序列:
    • , - 逗号
    • \s* - 0+ 个空格
    • @[a-zA-Z0-9]+ - 同上
  • $ - 字符串结尾。