slug的JS正则表达式字符串验证

Mer*_*kos 3 javascript regex validation

我有一个应用程序,允许最终用户输入他想要的slug.我正在寻找的是一个正则表达式,检查slug是否有效.

一般来说,有效的意思是指以拉丁语开头和结尾的字符串,除以破折号但不超过一个破折号.

更具体地说,以下是正确的:

one-two-three
Run Code Online (Sandbox Code Playgroud)

以下不是:

one---two-thee-
-one-two-three
one-two-three-
Run Code Online (Sandbox Code Playgroud)

因此,使用以下正则表达式我可以,但是如何检查字符串中间是否有不超过两个破折号?

^[a-z][a-z][a-z]$
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来编写这个正则表达式,以满足我的验证creteria?

use*_*495 15

http://regexpal.com/可以是一个很好的网页,可以在您编写时检查您的正则表达式.一个方便的工具:).

看看你的,它应该接受大写字母/数字吗?如果是这样,也许将帮助:

/ ^ [A-ZA-Z0-9] +(: - [A-ZA-Z0-9] +)*$ /

这将仅匹配由单个 - 分隔的一个或多个字母数字字符序列的序列.如果您不想允许单个单词(例如,只是hello),请将*乘数替换为+以仅允许最后一个组的一次或多次重复.

这是从同一个线程中演示的实时样本的链接.

在方块内围绕A-Za-z0-9进行更改将允许您仅接受适合您的大写字母,非大写字母或数字.

祝你好运,如果你有任何疑问,请告诉我!:)


Thi*_*ire 9

我个人最喜欢的:

^[a-z](-?[a-z])*$
Run Code Online (Sandbox Code Playgroud)

以小写字母开头;然后更低或可能是连字符,但并非没有另一个更低的紧随其后。