regex - 如何验证一个号码不是免费的?

标签 regex ruby-on-rails-3.1

我正在尝试验证一个号码是否不是免费的,但不确定如何通过内置的验证助手进行设置。

这是我到目前为止所做的:

validates :local_phone, :format => { :with => /^(\+?1)?(8(00|55|66|77|88)[2-9]\d{6})$/, :message => "cannot be a toll-free number" }

但是,它验证该号码是免费的。我试图通过 !但无济于事。在编写我自己的 validates_with 类之前,我认为最好问问周围的情况。

最佳答案

如何验证一个号码不是免费的?
只需调用该号码并找出:-)

他已经得到了答案(请参阅上面的评论)。我只是再次重新发布它,这样这个问题就不会出现在“未回答”部分。

validates :local_phone, :format => { 
   :with => /^(?!(+?1)?(8(00|55|66|77|88)[2-9]\d{6})).{10}$/, 
   :message => "cannot be a toll-free number" }

关于regex - 如何验证一个号码不是免费的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9935052/

相关文章:

ruby-on-rails-3.1 - CanCan 和 accessible_by 报错,无法确定 SQL

java - 正则表达式除了第一个

python-3.x - 正则表达式在磅符号之后捕获数字 - 用逗号和在未捕获的空格之后的数量

ruby-on-rails - 如何使用 RSpec 测试电子邮件 header

ruby-on-rails - 将 Cappuccino 与 Ruby on Rails 集成

testing - 澄清此默认 rspec Controller 测试并使其通过

ruby-on-rails-3 - 更改 config.assets.version 号有什么作用?

javascript - 如何验证字符串是否包含某些字符?

c# - 解析器识别正则表达式时出错

.net - 至少包含 1 个字母和 1 个数字的正则表达式