用于长度为3-5个字符的字母数字字符串的JavaScript正则表达式

用于长度为3-5个字符的字母数字字符串的JavaScript正则表达式,javascript,regex,Javascript,Regex,我需要正则表达式来验证长度为3-5个字符的字母数字字符串。我试着遵循从网上找到的正则表达式,但它甚至不能正确地捕捉字母数字 var myRegxp = /^([a-zA-Z0-9_-]+)$/; if(myRegxp.test(value) == false) { return false; } 将{3,5}添加到表达式中,表示长度介于3到5之间 /^([a-zA-Z0-9_-]){3,5}$/ 你必须准确地定义字母数字,但是 /^(\w{3,5})$/ 应匹配长度为3-5的任何

我需要正则表达式来验证长度为3-5个字符的字母数字字符串。我试着遵循从网上找到的正则表达式,但它甚至不能正确地捕捉字母数字

var myRegxp = /^([a-zA-Z0-9_-]+)$/;
if(myRegxp.test(value) == false)
{
    return false;
}

{3,5}
添加到表达式中,表示长度介于3到5之间

/^([a-zA-Z0-9_-]){3,5}$/

你必须准确地定义字母数字,但是

/^(\w{3,5})$/ 
应匹配长度为3-5的任何数字/字符/组合

如果您还需要破折号,请确保将其转义(
\-
)添加,如下所示:

/^([\w\-]{3,5})$/ 

另外:
^
锚点意味着序列必须从行首(字符串)开始,而
$
则必须从行尾(字符串)结束。因此,您的
字符串不能包含任何其他内容,否则它将不匹配。

首先,此脚本测试字符从3到5的字符串N

对于多语言(阿拉伯语乌克兰语),您必须使用此

var regex = /^([a-zA-Z0-9_-\u0600-\u065f\u066a-\u06EF\u06fa-\u06ff\ufb8a\u067e\u0686\u06af\u0750-\u077f\ufb50-\ufbc1\ufbd3-\ufd3f\ufd50-\ufd8f\ufd92-\ufdc7\ufe70-\ufefc\uFDF0-\uFDFD]+){3,5}$/;  regex.test('мшефн');
其他方面 以下内容仅适用于英文字母数字

/^([a-zA-Z0-9_-]){3,5}$/
以上不接受特殊字符

最后一点是,上面的测试不占用空间。如果有空间,则会失败。如果需要空间,请在0-9\s之后添加空间

\s
如果要检查所有字符串的长度,请添加点。

var regex = /^([a-zA-Z0-9\s@,!=%$#&_-\u0600-\u065f\u066a-\u06EF\u06fa-\u06ff\ufb8a\u067e\u0686\u06af\u0750-\u077f\ufb50-\ufbc1\ufbd3-\ufd3f\ufd50-\ufd8f\ufd92-\ufdc7\ufe70-\ufefc\uFDF0-\uFDFD]).{1,30}$/;

考虑学习阅读正则表达式,这样你就可以找出哪些满足你的需要,哪些不满足。或者更好,这样你就可以自己写了。这是个好主意,但我没有时间完成这项任务,但当然这是我必须要做的。如果它是字符类中的第一个或最后一个字符,你不需要逃避破折号。我不知道这一点(我已经使用regex几十年了;-)。谢谢但这也没什么坏处,对吧?你需要括号吗?@EralpB是的,我们需要括号(“()”)来检查字母数字的整体长度