2011-07-12 56 views
0

我正在嘗試爲文本字段創建一個格式驗證,該格式驗證將拒絕任何帶有空格的內容。有人可以用RegEx語法幫助我嗎?這是我已經嘗試過:Ruby格式驗證[沒有空白]

no_whitespace = /\A[\S]\z/i 

validates :customurl, :format => { :with => no_whitespace } 

我是新來的編程和對RegEx無能爲力。任何幫助將不勝感激。謝謝!

回答

3

試試這個:

no_whitespace = /^[\S]+$/ 

這應該從一開始(^)在結束的字符串($),以及至少1個字符不指定空格字符。

+0

真棒!我認爲那樣做了! – pruett

+1

你應該使用'/ \ A \ S + \ Z /'來防止某些惡意用戶試圖用換行符發送文本。方括號不是必需的。 –

+1

'^'用於行首,而不是字符串。同樣,'$'是用於行尾,而不是字符串的結尾。也就是說,OP的正則表達式應該適用於整個字符串(使用'\ A'和'\ Z')。只是OP忘了包含'+'。所以這可以用於OP'/ \ A [\ S] + \ Z /' – Zabba

2

試試這個:

no_whitespace = /[\S]*/ 

使用Rubular來幫助你形成和測試正則表達式。

+0

嗯......似乎沒有工作。它仍然允許我傳遞一個包含空格的值。 – pruett

+0

你說得對。戴夫艾薩克的答案將起作用。 –

+0

+1因爲Rubular岩石! –