2011-11-03 99 views
0

我有問題才能使其工作。正則表達式Javascript(必須有1個數字和字符)

以下javascript正則表達式至少需要一個字符串中的數字。

/^[a-zA-Z0-9 ]*[0-9]+[a-zA-Z0-9 ]*$/; 

但是,我也想允許一個逗號(「‘)和一個句點(’。」)

我嘗試了各種選項,但它不工作。請幫忙嗎?

+2

在正則表達式中,你希望允許','和'.'?你嘗試了什麼? –

+0

@denis認真接受答案,鼓勵人們幫助你和他人。 – FailedDev

回答

0

只是這些字符添加到相應的字符類:

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

下面是使用一個超前寫它一個更簡潔的方式:

/^(?=.*?[0-9])[a-zA-Z0-9,. ]+$/ 
3

這會工作:

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

它的工作原理!!! ..謝謝:)) – denis

+1

點是*不*是角色類中的特殊字符。 –

+0

@MarkByers你說得對,我也一直在那裏逃脫。很高興知道。 – Lycha

1

如何縮短解決方案:

/[\w\s,.]*\d+[\w\s,.]*/ 

在這種情況下,沒有必要使用^和$。

+0

這是不一樣的。它還將接受(例如)下劃線和製表符,原始表達式不接受。 –

+0

哦,這是真的。 –

相關問題