如何验证用冒号分隔的字符串,而不是字符串的结尾

时间:2020-03-07 18:51:12

标签: javascript regex

我当前正在尝试验证输入,该输入用冒号分隔。但是有可能用户输入一个单词而后没有冒号。不应以冒号结尾字符串。只允许使用小写字母。如以下示例所指出的,该模式应允许进一步链接。

以下是允许的测试字符串:

auto
auto:vehicle
auto:vehicle:face
auto:vehicle:face:subject
auto:vehicle:face:subject:classic

这是我到目前为止所得到的,有点它没有按预期工作:

/([a-z]+:[a-z]+:?)/g

我如何告诉模式检查是否只有一个单词,这样就不需要后面的冒号了,我如何允许模式重复匹配(链接)?

任何帮助将不胜感激:)

2 个答案:

答案 0 :(得分:3)

这可以做到:

^[a-z]+(?::[a-z]+)*$

Demo

regex读取,“在字符串的开头匹配一个或多个小写字母,然后匹配零个或多个字符串,每个字符串都以冒号开头,然后是一个或多个小写字母,然后是字符串”。

答案 1 :(得分:1)

这应该也可以

^([a-z]+:)*[a-z]+$

将以:结尾的小写字母匹配0到n次,然后必须以小写字母结尾且没有冒号

相关问题