0
什麼是驗證輸入字符串的正確方法,使其只能包含0-9,a-z和'。'?第一個和最後一個字符不能是'。'。使用格式和正則表達式進行Rails驗證
我目前正在使用;
validates_format_of :lagrange, :with => /[0-9a-z\.]/
,並已嘗試過很多變種,但似乎無法弄清楚這一點。
什麼是驗證輸入字符串的正確方法,使其只能包含0-9,a-z和'。'?第一個和最後一個字符不能是'。'。使用格式和正則表達式進行Rails驗證
我目前正在使用;
validates_format_of :lagrange, :with => /[0-9a-z\.]/
,並已嘗試過很多變種,但似乎無法弄清楚這一點。
使用零寬度斷言先行
/^(?!.*[.]$)(?![.])[a-z0-9.]+$/
---------
+
是匹配1至多次
^
標誌着beginnig和$
標記串/行的端部的量詞..
字邊界是你的朋友:
/\A\b[a-z\d.]*\b\z/
爲什麼?
太棒了!你的解決方案有效你回答得太快了,我還不能將它標記爲解決方案! 我會去閱讀零寬度斷言向前看,然後回來。 – mvanio
爲了解決我的問題,編輯第一個和最後一個字符不是'。',我會這樣做嗎? '/^[^。](?!。* [。] $)[a-z0-9。] + $ /' – mvanio
@ObregonCornsnook看到我的編輯.. – Anirudha