在Ruby中,使用正則表達(dá)式進(jìn)行復(fù)雜驗(yàn)證需要編寫一個合適的正則表達(dá)式,然后使用=~
操作符將輸入字符串與正則表達(dá)式進(jìn)行匹配。以下是一些常見的復(fù)雜驗(yàn)證示例:
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 "請輸入手機(jī)號碼:"
input = gets.chomp
if input =~ phone_regex
puts "手機(jī)號碼有效"
else
puts "手機(jī)號碼無效"
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
這些示例僅涵蓋了部分常見的復(fù)雜驗(yàn)證。你可以根據(jù)需要編寫更復(fù)雜的正則表達(dá)式來滿足你的需求。