正则表达式不应该以数字编号开头

时间:2017-10-07 22:58:47

标签: javascript regex

我想验证"用户名"形式领域。我的方案是关注

1)用户名不应以数字字符(0-9)开头 2)用户名之间可以有数字字符,如#34; Smith9Rockz" 3)用户名不能以任何特殊字符开头。

我刚发现这个表达不适用于我的病情

 var validaddress = /^[0-9].*$/;

在Javascript中引导我正确的正则表达式。我怎样才能实现我想要的结果呢?

3 个答案:

答案 0 :(得分:1)

使用:

^[[:alpha:]].*

<强>解释

它接受以字母字符开头(^)的用户名(因此,既不是数字也不是特殊字符),之后他们有任何数字/特殊字符(。*)。

如果你想避免使用特殊字符,你应该使用:

^[[:alpha:]][[:alnum:]]*

其中[:alnum:]搜索字母数字字符。

答案 1 :(得分:0)

这应该根据您的描述。开头的字符集会排除数字和一堆特殊字符,您可以完成这些字符。之后,它只是字母和数字。

var re = /^[^0-9#$%&*()-][0-9a-z]*$/i

如果对于第一个字符,你的意思是它必须是一个字母,那就更简单了。

var re = /^[a-z][0-9a-z]*$/i

答案 2 :(得分:0)

试试这个:

var re = /^[a-zA-Z].+$/;
var valid_username = 'Some1ok!';
var invalid_username = '1some1!';

re.test(valid_username); // true
re.test(invalid_username); // false