我需要正则表达式来验证长度为3-5个字符的字母数字字符串.我尝试了从网上找到的正则表达式,但它甚至没有正确地捕获字母数字.
var myRegxp = /^([a-zA-Z0-9_-]+)$/;
if(myRegxp.test(value) == false)
{
return false;
}
Run Code Online (Sandbox Code Playgroud)
Sac*_*hag 60
添加{3,5}
到您的表达式,这意味着长度在3到5之间
/^([a-zA-Z0-9_-]){3,5}$/
Run Code Online (Sandbox Code Playgroud)
您必须准确定义字母数字,但是
/^(\w{3,5})$/
Run Code Online (Sandbox Code Playgroud)
应该匹配长度为 3-5 的任何数字/字符/_ 组合。
如果您还需要破折号,请确保将其转义 ( 添加它,如下所示:\-
)
/^([\w\-]{3,5})$/
Run Code Online (Sandbox Code Playgroud)
另外:^
锚意味着序列必须从行(字符串)的开头开始,并且$
它在行(字符串)的末尾结束。因此,您的value
字符串不得包含任何其他内容,否则将不匹配。