使用javascript正则表达式验证每个列表项一个字母的逗号列表
尝试验证从a到字母L的所有大写字母的逗号列表。我可能会写一些东西来循环列表,确保每个项目都有一个A-L字母,但我更喜欢使用正则表达式。这可能吗 有效期:使用javascript正则表达式验证每个列表项一个字母的逗号列表,javascript,regex,Javascript,Regex,尝试验证从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-cap
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')
'A,G,F'。拆分(',')。每个(x=>x.length===1&&x>='A'&&x我测试了这个,它和我刚刚写的一样好,谢谢!你为此否决了我的投票?你本可以回答我的问题,我问了regex。我没有否决,但它会验证ABCD
aa一个有效的输入。你是正确的。你发布的答案是准确的。我将标记为答案