使用 JavaScript 正则表达式验证每个列表项一个字母的逗号列表

validate comma list of one alpha letter per list item with javascript regex

本文关键字:列表 一个 正则表达式 JavaScript 验证 使用      更新时间:2023-09-26

尝试验证从A到字母L的逗号列表,全部大写。我可能会写一些东西来循环列表并确保每个项目只有一个来自 A-L 的字母,但我更喜欢使用正则表达式。这可能吗?

有效:

A, G, F

无效:

Ab, G, F, Car
您可以使用

此正则表达式来验证您输入的字母A-L逗号分隔:

/^[A-L](?:'s*,'s*[A-L])*$/

正则表达式演示

分手:

^          # line start
[A-L]      # match letters [A-L]
(?:        # start non-capturing group
  's*      # match 0 or more white-spaces
  ,        # match a comma
  's*      # match 0 or more white-spaces
  [A-L]    # match letters [A-L]
)*         # end non-capturing group, * makes this group match 0 or more times
$          # line end

我实际上在发布这篇文章后不久就回答了我自己的问题。以下正则表达式有效:

^(?!,)(,?'s?[A-L])+$

每个项目只允许一个字符,大写,空格可选,无结束逗号。

感谢您的任何其他答案,我相信有很多方法可以做到这一点。

正则表达式测试仪

你为什么要放弃数组操作?它们可能非常优雅。

'A, G, F'.split(', ').every(x => x.length === 1 && x >= 'A' && x <= 'L')
相关文章: