不是RegEx的大用户-从未真正了解它们!但是,我觉得检查用户名字段输入的最佳方法是使用仅允许字母(大写或小写),数字和_字符组成的字段,并且必须按照站点策略以字母开头。 My RegEx和代码如下:

var theCheck = /[a-zA-Z]|\d|_$/g;
alert(theCheck.test(theUsername));


尽管尝试了各种组合,但一切都返回“ true”。

有人可以帮忙吗?

最佳答案

您的正则表达式说“ theUsername是否包含字母,数字或下划线结尾”。

尝试以下方法:

var theCheck = /^[a-z]([a-z_\d]*)$/i; // the "i" is "ignore case"


这表示“ theUsername以字母开头,并且仅包含字母,数字或下划线”。

注意:我认为这里不需要“ g”,意思是“所有匹配项”。我们只想测试整个字符串。

09-09 20:59