2013-11-15 72 views
0

我想检查一个字符串是否是JavaScript中的严格ALPHANUMERIC。有效的字符串不应包含任何特殊字符,并且必须至少包含一个大写或小写字母和一个数字。在JavaScript中验证字母数字值的正则表达式

  • aaa1111[email protected]#12qw#:无效
  • aaa11112abcabc123abc12bc12:有效

谁能帮我把我的框架正则表达式?

+2

还有,你试过吗? –

+1

由于额外的限制(最初让我绊倒了)不是重复的。 – SQB

+0

不重复:“至少有一个字母和一个数字”... – leaf

回答

5

使用/^(\d+[a-z]|[a-z]+\d)[a-z\d]*$/i

> /^(\d+[a-z]|[a-z]+\d)[a-z\d]*$/i.test('111aa') 
true 
> /^(\d+[a-z]|[a-z]+\d)[a-z\d]*$/i.test('aaa222') 
true 
> /^(\d+[a-z]|[a-z]+\d)[a-z\d]*$/i.test('aaa') 
false 
> /^(\d+[a-z]|[a-z]+\d)[a-z\d]*$/i.test('222') 
false 
> /^(\d+[a-z]|[a-z]+\d)[a-z\d]*$/i.test('112aaa#') 
false 
+2

我想重复删除这个'[az \ d] *':'/ ^(\ d + [az] + | [az] + \ d +)[az \ d] * $/i' – SQB

+0

@SQB,你发表评论。我根据你的评论更新了答案。 – falsetru

+1

+1两个字符较短:'/ ^(\ d + [a-z] | [a-z] + \ d)[a-z \ d] * $/i' :) – leaf

1
/^[a-z0-9]*([a-z]\d|\d[a-z])[a-z0-9]*$/i 

导入位在中间:它是一个字母后跟一个数字或一个数字后跟一个字母。如果一个有效的字符串至少包含其中的一个,那么必须有部分字符串为真。然后,我们只用零个或更多字母数字字符填充两侧。

http://regex101.com/r/wZ0qL2

+0

没有工作。它的验证字符串如aaa,1111.一个有效的字符串应该包含至少一个字母和一个数字。 –

+0

@VishnuY你见过我更新的答案吗?我的第一个错误是因为我错过了部分要求。 – SQB

+0

@wared感谢您的提示,我已经将其纳入我的答案。 – SQB

相关问题