溫馨提示×

Ruby正則表達(dá)式如何進(jìn)行復(fù)雜驗(yàn)證

小樊
81
2024-10-24 08:06:32
欄目: 編程語言

在Ruby中,使用正則表達(dá)式進(jìn)行復(fù)雜驗(yàn)證需要編寫一個合適的正則表達(dá)式,然后使用=~操作符將輸入字符串與正則表達(dá)式進(jìn)行匹配。以下是一些常見的復(fù)雜驗(yàn)證示例:

  1. 驗(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
  1. 驗(yàn)證手機(jī)號碼(僅適用于中國大陸):
phone_regex = /^1[3-9]\d{9}$/
puts "請輸入手機(jī)號碼:"
input = gets.chomp
if input =~ phone_regex
  puts "手機(jī)號碼有效"
else
  puts "手機(jī)號碼無效"
end
  1. 驗(yàn)證密碼(至少8個字符,包括大小寫字母、數(shù)字和特殊字符):
password_regex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/
puts "請輸入密碼:"
input = gets.chomp
if input =~ password_regex
  puts "密碼有效"
else
  puts "密碼無效"
end
  1. 驗(yàn)證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

這些示例僅涵蓋了部分常見的復(fù)雜驗(yàn)證。你可以根據(jù)需要編寫更復(fù)雜的正則表達(dá)式來滿足你的需求。

0