我有以下正则表达式:
^[a-zA-Z0-9]+( [a-zA-Z0-9]+)*$
我正在尝试验证 0-10 个字符之间的字符串,该字符串不能连续包含两个空格或不能为空。该字符串不能包含任何特殊字符,并且可以不区分大小写,并且可以包含连字符。
如何将输入限制在 0-10 个字符之间?
我试过了
^[a-zA-Z0-9]+( [a-zA-Z0-9]+{0,10})*$
但它不起作用。
我有以下正则表达式:
^[a-zA-Z0-9]+( [a-zA-Z0-9]+)*$
我正在尝试验证 0-10 个字符之间的字符串,该字符串不能连续包含两个空格或不能为空。该字符串不能包含任何特殊字符,并且可以不区分大小写,并且可以包含连字符。
如何将输入限制在 0-10 个字符之间?
我试过了
^[a-zA-Z0-9]+( [a-zA-Z0-9]+{0,10})*$
但它不起作用。
我会这样做:
^(?!.* )(?=.*[\w-])[\w -]{1,10}$
这使用负前瞻(?!.* )
来断言没有两个连续的空格,并使用正前瞻(?=.*[\w-])
来断言它至少有一个非空格字符(我假设“空”表示“只有空格”)。
注意,如果不能为“空”,就不能是零长度,所以长度范围必须是1-10,而不是0-10。
值得注意的是,如果它是第一个或最后一个字符,您不需要在字符类中转义破折号。
(?i)([a-z?0-9?\-?]\s?){0,10}
Case insensitive, between 0-10 length, matches any combination of letters, numbers, hyphens and single spaces.
I think no "+" when using range.
^[a-zA-Z0-9]+( [a-zA-Z0-9]{0,10})*$
Also, you say you accept hyphens, but don't see that here?
So
^[a-zA-Z0-9]+( [a-zA-Z0-9\-]{0,10})*$