在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
這些示例僅涵蓋了部分常見的復雜驗證。你可以根據需要編寫更復雜的正則表達式來滿足你的需求。