Javascript 如何创建正则表达式来检查带有数字和空格的用户名?
我想创建一个正则表达式,可以用以下术语检查用户名:Javascript 如何创建正则表达式来检查带有数字和空格的用户名?,javascript,Javascript,我想创建一个正则表达式,可以用以下术语检查用户名: 前两个字母是a-z(不允许数字) 两个字母后的数字是允许的 空间是允许的-不是在开始 后面的空格只能是a-z,不能是数字/特殊字符(john 2doe),但john d2oe可以 以上规则适用于字符串中的每个单词 没有特殊字符允许这样的~!@$%^&*() 这就是我到目前为止所做的: /^([A-Za-z]{2,})/.test('john#~ doe') // true. - not good. it should be false.
- 前两个字母是a-z(不允许数字)
- 两个字母后的数字是允许的
- 空间是允许的-不是在开始
- 后面的空格只能是a-z,不能是数字/特殊字符(
),但john 2doe
可以john d2oe
- 以上规则适用于字符串中的每个单词
- 没有特殊字符允许这样的
~!@$%^&*()
/^([A-Za-z]{2,})/.test('john#~ doe') // true. - not good. it should be false.
第一次和第二次我解决了它。但剩下的怎么办呢
^([a-zA-Z]{2})([a-zA-z0-9]*)([ ]*)([a-zA-Z]+)([a-zA-Z0-9]*)$
清除:
johnd2oe
jo hnd2oe
失败:
john 2doe
j2hn d2oe
ohn d2oe
清除:
johnd2oe
jo hnd2oe
失败:
john 2doe
j2hn d2oe
ohn d2oe
这里有一个应该适合你
^([A-z]{2}([A-z0-9]|\s[A-z]{2})*)*$
但请注意:你的规则有点矛盾。此正则表达式不允许使用john d2oe
名称,因为d2oe
的前两个字母不是字母。这可以通过使用
^([A-z]{2}([A-z0-9]|\s[A-z])*)*$
在这里,我们为每个单词定义规则,然后说我们将匹配任意数量的规则。每个单词以2个字母开头,然后后跟任意数量的字母和数字,或者后跟至少1个(或在第一个语句中为2个)字母的空格
看一看,我希望这有帮助 这里有一个应该适合你的
^([A-z]{2}([A-z0-9]|\s[A-z]{2})*)*$
但请注意:你的规则有点矛盾。此正则表达式不允许使用john d2oe
名称,因为d2oe
的前两个字母不是字母。这可以通过使用
^([A-z]{2}([A-z0-9]|\s[A-z])*)*$
在这里,我们为每个单词定义规则,然后说我们将匹配任意数量的规则。每个单词以2个字母开头,然后后跟任意数量的字母和数字,或者后跟至少1个(或在第一个语句中为2个)字母的空格
看一看,我希望这有帮助