와 앵커 오류 :
/^(\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$/
: 나는 다음과 같은 정규식을 사용
123-456-7890
(123) 456-7890
123 456 7890
123.456.7890
+91 (123) 456-7890
레일 콘솔에서 사용자를 만들 때이 오류가 발생했습니다.
ArgumentError : 제공된 일반 표현식이 여러 줄 앵커 (^ 또는 $)를 사용하여 보안 문자를 표시 할 수 있습니다 ity 위험. \ A와 \ z를 사용하거나 multiline => true 옵션을 추가하는 것을 잊었습니까? 내가 아는
이에 대한 보석이있다 그러나 나는 이메일과 유사한 전화 번호를 확인하고, 사용자 모델에게 자신을 만들 싶습니다
User.rb
class User < ActiveRecord::Base
before_save { self.email = email.downcase }
validates :name, presence: true, length: { maximum: 50 }
VALID_EMAIL_REGEX = /\A[\w+\-.][email protected][a-z\d\-.]+\.[a-z]+\z/i
validates :email, presence: true, length: { maximum: 255 },
format: { with: VALID_EMAIL_REGEX },
uniqueness: { case_sensitive: false }
VALID_PHONE_NUMBER_REGEX = /^(\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$/
validates :phone_number, presence: true, length: {maximum: 15},
format: { with: VALID_PHONE_NUMBER_REGEX }
has_secure_password
validates :password, length: { minimum: 6 }
end
I을 '앵커를 \ A와 \ z로 바꾸려고했는데, 그게 내가 원하는 것처럼 보이기 때문에, 내가 원하는 전화 번호 입력 범위를 받아들이지 못한다. 정규식을 어떻게 수정합니까?
감사합니다. 나는 미래의 반복에서 입력을 표준화하는 방법을 살펴볼 것이다. 결국 양식에 전화 번호에 대한 3 개의 입력 공백을 넣고 싶습니다. 그래서 걱정할 필요가 없습니다. 문자, 지금 당장 레일에서 그렇게하는 방법을 모르겠습니다. –