2010-12-15 13 views
1

Учитывая строку номера мобильного телефона, мне нужно, чтобы убедиться, что данная строка содержит только цифры 0-9, (, ), +, -, x и пространства. Как я могу это сделать в Ruby?Как проверить, содержит ли строка только символы в заданном наборе?

+0

синтаксис Руби RegEx заимствована из Perl. Поскольку вы знаете регулярное выражение в Perl, вы можете использовать то же самое здесь. – dheerosaur 2010-12-15 09:23:43

ответ

2

Использование:

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

т.д .:

re = /^[-0-9()+x ]+$/ 
match = re.match("555-555-5555") 
2
if (/^[-\d()\+x ]+$/.match(variable)) 
    puts "MATCH" 
else 
    puts "Does not MATCH" 
end 
1

Использование String#count:

"+1 (800) 123-4567".count("^0-9+x()\\- ").zero? # => true 
"x invalid string x".count("^0-9+x()\\- ").zero? # => false 
Смежные вопросы