Javascript 正则表达式不允许使用连续的点字符和更多字符
我试图创建一个JavaScript正则表达式,它满足以下条件 a-z是可能的 0-9是可能的 破折号、下划线、撇号和句号都可以 不能使用符号AND、括号、逗号和加号 连续的周期是不可能的 期间不能位于起始和结束位置 最多64个字符 到目前为止,我一直在关注正则表达式Javascript 正则表达式不允许使用连续的点字符和更多字符,javascript,regex,Javascript,Regex,我试图创建一个JavaScript正则表达式,它满足以下条件 a-z是可能的 0-9是可能的 破折号、下划线、撇号和句号都可以 不能使用符号AND、括号、逗号和加号 连续的周期是不可能的 期间不能位于起始和结束位置 最多64个字符 到目前为止,我一直在关注正则表达式 ^[^.][a-zA-Z0-9-_\.']+[^.]$ 但是,这允许中间的连续点字符,并且不检查长度。 有谁能指导我如何添加这两个条件吗?以下是一个似乎有效的模式: ^(?!.*\.\.)[a-zA-Z0-9_'-](?:[a-z
^[^.][a-zA-Z0-9-_\.']+[^.]$
但是,这允许中间的连续点字符,并且不检查长度。
有谁能指导我如何添加这两个条件吗?以下是一个似乎有效的模式:
^(?!.*\.\.)[a-zA-Z0-9_'-](?:[a-zA-Z0-9_'.-]{0,62}[a-zA-Z0-9_'-])?$
下面是对正则表达式模式的解释:
^ from the start of the string
(?!.*\.\.) assert that two consecutive dots do not appear anywhere
[a-zA-Z0-9_'-] match an initial character (not dot)
(?: do not capture
[a-zA-Z0-9_'.-]{0,62} match to 62 characters, including dot
[a-zA-Z0-9_'-] ending with a character, excluding dot
)? zero or one time
$ end of the string
以下是一个似乎有效的模式:
^(?!.*\.\.)[a-zA-Z0-9_'-](?:[a-zA-Z0-9_'.-]{0,62}[a-zA-Z0-9_'-])?$
下面是对正则表达式模式的解释:
^ from the start of the string
(?!.*\.\.) assert that two consecutive dots do not appear anywhere
[a-zA-Z0-9_'-] match an initial character (not dot)
(?: do not capture
[a-zA-Z0-9_'.-]{0,62} match to 62 characters, including dot
[a-zA-Z0-9_'-] ending with a character, excluding dot
)? zero or one time
$ end of the string
你可以使用正则表达式
正则表达式分解
正则表达式中的更正
-不应该在角色类的中间。它表示范围。避免在两者之间使用它
[a-zA-Z0-9_]相当于\w
你可以使用正则表达式
正则表达式分解
正则表达式中的更正
-不应该在角色类的中间。它表示范围。避免在两者之间使用它
[a-zA-Z0-9_]相当于\w
我的想法来了。用于\w单词字符
^在?!。{65}不超过64个字符
后跟[\w'-]+一个或多个[a-zA-Z0-9'-]
后跟包含句点的?:\.?[\w'-]+*。后跟一个或多个[a-zA-Z0-9_'-]直到$end
我的想法来了。用于\w单词字符
^在?!。{65}不超过64个字符
后跟[\w'-]+一个或多个[a-zA-Z0-9'-]
后跟包含句点的?:\.?[\w'-]+*。后跟一个或多个[a-zA-Z0-9_'-]直到$end
而我希望长度检查使用.length属性比某些正则表达式构造快得多。我希望长度检查使用.length属性比某些正则表达式构造快得多。
^(?!.{65})[\w'-]+(?:\.[\w'-]+)*$