电话格式的正则表达式错误

时间:2013-12-24 16:30:43

标签: ruby-on-rails ruby regex activerecord

有以下正则表达式来描述正则表达式:

validates :phone, format: { with: /\A(\+7|8)[0-9]{10}\z/ }

'89277777777'必须与此表达式匹配,'+ 79277777777'也必须匹配。但我总是收到“无效电话”的消息。我该如何解决?谢谢。

1 个答案:

答案 0 :(得分:1)

如果你想做的只是一种验证国际号码的简单方法,可能或者不+开头,后跟 7 8 ,然后再增加10位数,那么这个正则表达式应该可以解决问题:

\A\+?[78]\d{10}\z

Regular expression visualization

Debuggex Demo

如果我的假设不正确,请在评论中告诉我们,我们将努力寻找更好的解决方案。

注意:不要忘记用//包围正则表达式 - 由于使用Debuggex

,我在这里没有这样做