移动电话检测在其他号码上创建链接,例如邮政编码

时间:2014-03-03 15:03:18

标签: android html ios phone-number

我正在尝试为当前的iOS和Android设备提供移动设备的电话样式/突出显示功能。它适用于电话号码,但它也会对其他号码进行相同的处理(使其成为打开电话拨号器的可点击链接)。这些包括邮政编码和其他不应被视为电话号码的号码。我知道您可以使用下面的元标记完全禁用此功能:

<meta name="format-detection" content="telephone=no">

但是,我想要的功能,只需要电话号码。

我也知道你可以禁用它,然后使用“tel:x-xxx-xxx-xxxx”在所有电话号码周围添加链接,但这看起来真的很乏味,我希望找到更好的解决方案(如果有的话)是一个)。

2 个答案:

答案 0 :(得分:1)

电话号码识别相当原始甚至是错误的,因此最好使用上述方法关闭电话号码。例如,Android 4浏览器无法识别标准国际格式的电话号码(当使用空格时,它会忽略国家/地区前缀和操作员代码)。

但是如果您希望使用它并仍然将其关闭以用于其他数字字符串,则以下观察可能会有用:Android浏览器似乎将七个或更多数字的序列(例如,1234567)视为电话号码,如果空格字符介入。如果没有空间(1234567)或者如果有多个空格(1 234 567)或者存在插入连字符(123-4567),则不会以这种方式工作。不中断空格不作为空格,因此无法识别以下内容:123&nbsp;4567

我担心在具有此类功能的浏览器中,这种情况并不一致。

答案 1 :(得分:0)

我发现最好的解决方案(对我来说)是通过不使用元标记来保持启用,只需手动修复创建的“错误链接”。由于我只关心支持iOS和Android,当前的版本,最简单的方法是修复一些被链接为电话号码的数字。我尝试了@ Jukka对&nbsp;的建议,但发现它增加了不受欢迎的空间,所以我发现&shy;(软连字符)是最佳路径。

示例:

如果您有任何长度为7+的帐号,则会将其视为电话号码。

1234567 - 显示为电话号码
1234567&shy; - 未显示为电话号码

请注意,这些仅在当前的iOS和Android操作系统中进行了测试。