Ruby 全名正则表达式验证
我的验证器有以下测试用例:Ruby 全名正则表达式验证,ruby,regex,validation,Ruby,Regex,Validation,我的验证器有以下测试用例: context 'Validation successful' do specify :full_name do expect(validator.(:full_name, 'Full Name' )) expect(validator.(:full_name, 'Ka El' )) expect(validator.(:full_n
context 'Validation successful' do
specify :full_name do
expect(validator.(:full_name, 'Full Name' ))
expect(validator.(:full_name, 'Ka El' ))
expect(validator.(:full_name, 'José Manuel Barroso' ))
expect(validator.(:full_name, 'Janusz Korwin-Mikke' ))
expect(validator.(:full_name, 'Jean-Claude Van Damme' ))
expect(validator.(:full_name, 'Ms. Jan Levinson-Gould' ))
expect(validator.(:full_name, 'Robert Downey, Jr.' ))
expect(validator.(:full_name, "Joanna d'Arc" ))
expect(validator.(:full_name, 'Dr. Martin Luther King, Jr.' ))
expect(validator.(:full_name, "Brett d'Arras-d'Haudracey" ))
expect(validator.(:full_name, 'prof. dr hab. n. med. Szymon Dragan'))
end
end
以及:
我找不到任何能满足我全名要求的正则表达式。我还尝试用特殊字符分割名称,然后验证每个元素,但这导致我无法验证组之间的空格等等
def name_valid?(name)
name.match /\A[^0-9~`!@#$%\^&*+_={}?()\[\];:<>]+\Z/
end
def name_有效?(名称)
name.match/\A[^0-9~`!@$%\^&*+\={}?()\[\];:]+\Z/
结束
你知道如何处理全名验证吗?我就离开这里…;-)你是谁,能说出一个名字是什么?人们在法律上被称为“王子”和“毒刺”。
def name_valid?(name)
name.match /\A[^0-9~`!@#$%\^&*+_={}?()\[\];:<>]+\Z/
end