如何只允许逗号作为最后一个字符

时间:2018-08-16 12:27:10

标签: javascript regex

我有这个:

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

这甚至匹配fada/fada-。仅当它是fada,时,我才需要它匹配,并且对于/-,必须跟随它。

regexr.com/3u1d0

2 个答案:

答案 0 :(得分:1)

您可以使用

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

请参见pattern demo

详细信息

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

答案 1 :(得分:0)

您可以使用|来将,的模式与[\/-]分开:

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