我正嘗試在Ruby on Rails中創建用於正確用戶名驗證的正則表達式,但出於某種原因,我在做所有用戶名輸入無效的情況時出錯。我允許使用大寫字母,小寫字母,數字和下劃線。Ruby on Rails正則表達式無效
Ruby on Rails的名稱驗證的正則表達式代碼:
validates :name, :format => {:with => /\A[A-Za-z\d_]\z/}
我在做什麼錯?
感謝
我正嘗試在Ruby on Rails中創建用於正確用戶名驗證的正則表達式,但出於某種原因,我在做所有用戶名輸入無效的情況時出錯。我允許使用大寫字母,小寫字母,數字和下劃線。Ruby on Rails正則表達式無效
Ruby on Rails的名稱驗證的正則表達式代碼:
validates :name, :format => {:with => /\A[A-Za-z\d_]\z/}
我在做什麼錯?
感謝
# \A[A-Za-z\d_]\z
#
# Options:^and $ match at line breaks
#
# Assert position at the beginning of the string «\A»
# Match a single character present in the list below «[A-Za-z\d_]»
# A character in the range between 「A」 and 「Z」 «A-Z»
# A character in the range between 「a」 and 「z」 «a-z»
# A single digit 0..9 «\d»
# The character 「_」 «_»
# Assert position at the very end of the string «\z»
這是你的表達。你真的想匹配一個字符嗎?
筆者認爲:
/^\w+$/
這是你在找什麼。 \ w是您寫的內容的簡寫字符類。上述正則表達式將
validates :name, :format => {:with => /^[A-Za-z0-9\_]+$/}
尼斯頁面匹配只由一串A-ZA-Z0-9_在紅寶石測試正則表達式:http://rubular.com/
嘗試使用資本\ Z或與嘗試^和$,而不是 –