2013-11-15 108 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

相關問題