不是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”,意思是“所有匹配项”。我们只想测试整个字符串。