2012-12-31 70 views
3

我想要一個regular expression檢查string必須包含至少一個字母表[a-zA-Z]digit。所有其他special characters是允許的,但只有special characters或只有spacesonly spaces with special characters現在將被接受。正則表達式檢查字符串是否包含至少一個字母或數字

我試過/\b(?=[A-Z]*[0-9])(?=[0-9]*[A-Z])[\s\S]\b/i^(a-zA-Z0-9).*[\s\S]*$^(a-zA-Z0-9).*[\s].*[\S]*$等,但它不工作。等待您的寶貴迴應。

感謝

+1

爲什麼你的嘗試如此複雜?你定義一個字符類爲'[A-Za-z0-9]';爲什麼你需要所有其他的東西? –

+0

如果我只使用那麼多空間是不允許的。我希望字符串可以有任何不會改變的字符,但它必須至少有一個數字或一個字母。 – Dev

+0

您能否提供哪些匹配和不匹配的示例?什麼意思是特殊字符*或*特殊字符與空格是允許的? – OmegaMan

回答

3
^(?=.*[\w\d]).+ 

如果沒有至少一個字符o這個模式會失敗ne數字特殊字符和空格的任意組合。

+0

它已經工作..!謝謝 :) – Dev

1

如果你想至少一個字母或數字,其次才空格和符號:如果你想一個字母或數字

/^.*[a-zA-Z0-9][^a-zA-Z0-9]*$/ 

,其次是一樣的:

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

我無法想象你還在找什麼。例子會非常有幫助。

+0

這在字符串「dfdfdf#$#$ fgf(gd)」中失敗。我希望該字符串必須至少有一個字母或數字。只有特殊字符或空格不能作爲字符串使用。 – Dev

+0

@Dev它適用於該字符串 – bcurcio

+0

@bcurcio不!我的正則表達式驗證器發出錯誤消息。 Dev

2

我不確定我是否正確地理解了你,但從我收集的信息中,你希望字符串中至少有一個字母(a-z,0-9)。此正則表達式將做到這一點:/^(?=.*[a-z\d]).+/igm

(但是他們需要在asp.net進行設置可能設置標誌的m -flag可能是多餘的給你,我只用它演示的g -flag。不存在如果是這樣,只是將其刪除)

演示+解釋:。http://regex101.com/r/jY9fJ5

相關問題