【问题标题】:What number formatting does a mobile phone can call?手机可以拨打哪些号码格式?
【发布时间】:2016-10-20 14:26:29
【问题描述】:

我的 rails 应用程序有一个字段,用户可以在其中输入他们的联系电话,我正在使用 tel: 显示如下:

<%= link_to sample.phone, "tel:#{sample.phone}" %>

因此,如果用户在电话字段中输入这样的号码:0176-40206387,则显示也将是 0176-40206387

如果用户在电话字段中输入这样的号码:017640206387,则显示也将是017640206387

作为新手,不知道手机可以拨打哪种格式,还是手机会自动将号码转换为可拨打的号码?如果不是,可以调用什么正确的格式来告诉用户如何输入他们的电话号码?

【问题讨论】:

  • 这应该可以帮助我猜stackoverflow.com/q/13662175/4587148
  • @sajan 所以我现在的理解是我应该做一个助手来将用户输入的号码转换为可调用的号码,就像你提供的链接中的最后两种格式一样?

标签: ruby-on-rails


【解决方案1】:

你应该考虑使用number_to_phone

另外,您可以查看this link 以帮助您如何在 ruby​​ 中拨打电话

【讨论】:

  • 那么有了你提供的这两种解决方案,用户如何在字段中输入他们的电话号码就不再重要了,因为这两种解决方案会自动将该号码转换为可拨打的号码?
【解决方案2】:

如果您要从用户那里收集电话号码,您需要确保在使用类似这样的东西存储之前去除空白区域和存储

sample.phone.gsub(/\D/, '')

这样您就可以存储原始电话号码。

然后在视图中你可以像 Lucas 提到的那样使用 number_to_phone 视图助手

number_to_phone( sample.phone, area_code: true)

如果您愿意,您甚至可以只存储格式化的电话号码,这样您就不必在每次查看时都对其进行格式化。

【讨论】:

  • 我是否应该让我的用户输入他们的电话号码而不使用任何格式,即空格、破折号、+...,然后应用 number_to_phone 解决方案或@Lucas Batista Gabriel 提到的其他链接?
  • 因此您可以尝试在输入时强制执行格式设置,但是将用户输入清理为某种已知状态通常是最好的选择,因为您遇到的未知数更少,并且不必费劲下线.您还可以更加确信您的数据是统一的。
猜你喜欢
  • 1970-01-01
  • 2013-01-24
  • 2023-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多