在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
- 验证密码(至少8个字符,包括大小写字母、数字和特殊字符):
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:
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
这些示例仅涵盖了部分常见的复杂验证。你可以根据需要编写更复杂的正则表达式来满足你的需求。