2011-01-20 136 views
13

我需要正则表达式来验证长度为3-5个字符的字母数字字符串。我试图从网上找到正则表达式,但它甚至没有正确地捕获字母数字。长度为3-5个字符的字母数字字符串的JavaScript正则表达式

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

考虑学习阅读正则表达式,所以你可以找出哪些满足你的需求,哪些不需要。或者更好,所以你可以写自己的。 – BoltClock 2011-01-20 09:01:54

+1

这是个好主意,但我没有时间完成这项任务,但当然这就是我必须要做的。 – newbie 2011-01-20 09:33:46

回答

44

添加{3,5}到你的表情,这意味着到5

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

你需要括号吗? – EralpB 2016-11-23 18:29:46

4

3之间的长度你必须精确地定义字母数字,但

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

应匹配任何数字/字符/ _长度3-5的组合。

如果您还需要冲刺, 确保逃脱它( \-添加它,就像这样:

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

另外:^意味着该序列具有启动在行(字符串)的开头,以及它在行尾(字符串)结束的$。所以你的value字符串不能包含任何其他内容,否则将不匹配。

0

首先这个脚本测试从3串N的有字符到5

对于语言(阿拉伯语乌克兰)你必备使用本

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}$/ 

PS上述剂量不接受特殊字符

上述剂量不采取空间,测试是否有空间,如果你想那么空间后0-9 \ S

添加它就会失败最后一件事
\s 

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

var regex = /^([a-zA-Z0-9\[email protected],!=%$#&_-\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}$/; 
相关问题