Javascript 用于不允许除ALL,-和[0-9]以外的字符的正则表达式模式

Javascript 用于不允许除ALL,-和[0-9]以外的字符的正则表达式模式,javascript,regex,Javascript,Regex,我们正试图为标题中提到的需求填充一个正则表达式,但我们无法在一个模式中形成多个正则表达式,因此有人能帮我解决这个问题吗。像这样的简单模式: [^0-9,-] 如果我理解了这个问题就足够了。你可以试试这个正则表达式: /^(ALL|[\d,-]+)*$/ 马赫: 123 123.45 123-45 123-45.67 123-45-67 全部 ALL-12365448 123,ALL-123654-48 编辑: 在阅读了您最后的评论之后,我认为您希望匹配一个由破折号分隔的元素列表(ALL

我们正试图为标题中提到的需求填充一个正则表达式,但我们无法在一个模式中形成多个正则表达式,因此有人能帮我解决这个问题吗。

像这样的简单模式:

[^0-9,-]

如果我理解了这个问题就足够了。

你可以试试这个正则表达式:

/^(ALL|[\d,-]+)*$/
马赫:

  • 123
  • 123.45
  • 123-45
  • 123-45.67
  • 123-45-67
  • 全部
  • ALL-12365448
  • 123,ALL-123654-48

编辑:

在阅读了您最后的评论之后,我认为您希望匹配一个由破折号分隔的元素列表(ALL或[\d-])。如果正确,第二个正则表达式将满足您的需要:

/^((?:(?:ALL|[\d-]+)(?:$|,))+)/

您能添加您到目前为止所做的工作吗?预期的输入/输出请文本框应允许这样的组合ALL,01-08,01,05,因此我们正在尝试为此生成正则表达式。文本框应允许这样的组合-ALL,01-08,01,05