如何测试字符串是否只包含给定集合中的字符?

时间:2010-12-15 09:13:08

标签: ruby regex string

给定一个手机号码字符串,我需要确保给定的字符串只包含数字0-9()+,{{ 1}},-和空格。我怎么能在Ruby中做到这一点?

3 个答案:

答案 0 :(得分:2)

使用:

/^[-0-9()+x ]+$/

E.g:

re = /^[-0-9()+x ]+$/
match = re.match("555-555-5555")

答案 1 :(得分:2)

if (/^[-\d()\+x ]+$/.match(variable))
  puts "MATCH"
else
  puts "Does not MATCH"
end

答案 2 :(得分:1)

使用String#count

"+1 (800) 123-4567".count("^0-9+x()\\- ").zero?  # => true
"x invalid string x".count("^0-9+x()\\- ").zero? # => false