2016-01-10 35 views
0

我需要一個文本字段的正則表達式。正則表達式「只有文本應該允許字符或文本和數字,並且應該接受」

的要求是:

文本框應允許數字和字母(但不是唯一的數字)唯一組合

只接受字母

^[a-zA-Z]+$ 

只接受數字和字母:

^[a-zA-Z0-9]+$ 

試圖在一個條件合併這兩個..

+0

只要使用兩個不同的正則表達式。並匹配兩者。一個是全部字母數字,另一個是找到一個字母字符。除非你絕對必須有組合的表達,否則它可能不值得。 – shawnt00

回答

2
^[a-zA-Z0-9]*[a-zA-Z][a-zA-Z0-9]*$ 

的想法是 - 如果你把一個字母的地方,肯定會有至少一個字母。

2

因此,你需要至少一個字母:

^[a-zA-Z0-9]*[a-zA-Z][a-zA-Z0-9]*$ 

或者你可以使用一個前瞻:

(?=.*?[a-zA-Z])^[a-zA-Z0-9]+$ 

要知道,這些解決方案僅限於英文字母 - 如果你需要國際信函支持,您可以使用XRegExp庫以及以下模式:

(?=.*?\p{L})^[\p{L}\d]+$ 
-1

這對你的作品

var regex = /[a-zA-Z0-9]*[a-zA-Z][a-zA-Z0-9]*/g 
+0

這將匹配從數字塊中分離出來的字母塊,但不是混合物。 –

相關問題