在Ruby中,使用正则表达式进行复杂验证需要编写一个合适的正则表达式,然后使用=~
操作符将输入字符串与正则表达式进行匹配。以下是一些常见的复杂验证示例:
email_regex = /\A[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}\z/
puts "请输入邮箱地址:"
input = gets.chomp
if input =~ email_regex
puts "邮箱地址有效"
else
puts "邮箱地址无效"
end
phone_regex = /^1[3-9]\d{9}$/
puts "请输入手机号码:"
input = gets.chomp
if input =~ phone_regex
puts "手机号码有效"
else
puts "手机号码无效"
end
password_regex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/
puts "请输入密码:"
input = gets.chomp
if input =~ password_regex
puts "密码有效"
else
puts "密码无效"
end
url_regex = %r{^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$}ix
puts "请输入URL:"
input = gets.chomp
if input =~ url_regex
puts "URL有效"
else
puts "URL无效"
end
这些示例仅涵盖了部分常见的复杂验证。你可以根据需要编写更复杂的正则表达式来满足你的需求。