首页 > 解决方案 > 如何只允许逗号作为最后一个字符

问题描述

我有这个:

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

这甚至匹配fada/, fada-。我需要它匹配,只有当它是fada,和 for/并且-必须有一些东西跟随它时。

regexr.com/3u1d0

标签: javascriptregex

解决方案


您可以使用

^[a-zA-Z0-9]+(?:[,\/-]~\s*[a-zA-Z0-9]+)*,?$

查看模式演示

细节

  • ^- 字符串的开始
  • [a-zA-Z0-9]+- 1+ ASCII 字母数字字符
  • (?:[,\/-]\s*[a-zA-Z0-9]+)*- 零个或多个连续序列:
    • [,\/-]- 一个,/-
    • \s*- 0+ 个空格
    • [a-zA-Z0-9]+- 1+ ASCII 字母数字字符
  • ,?- 可选(一个或零)逗号
  • $- 字符串结束。

推荐阅读