HTML 电话链接可以接受值中的空格吗?

Posted

技术标签:

【中文标题】HTML 电话链接可以接受值中的空格吗?【英文标题】:Can a HTML telephone link accept spaces in the value? 【发布时间】:2017-08-12 21:33:20 【问题描述】:

在电话链接中包含空格和plus 符号(用于国际代码)是否有任何错误或问题?示例:

<a href="tel:+46 000 00 00 00">+46 000 00 00 00</a>

(我在这里用0替换了我要使用的实际数字)

【问题讨论】:

为什么电话号码链接需要空格? 在另一个问题中有完整的描述。 ***.com/q/17219688/7744547 我的客户网站设置以这种方式提供的 【参考方案1】:

html 在这里无关紧要。无论你把它放在哪里,一个 URL 都是一个 URL。

relevant spec 说:

尽管 ITU-T E.123 [E.123] 建议使用 空格字符作为印刷电话号码中的视觉分隔符, “tel” URI 不得在视觉分隔符中使用空格以避免 过度转义。

所以“”。

即使允许空格,URL 的一般规则也意味着您必须将其替换为 %20(因此有关于过度转义的评论)。

【讨论】:

【参考方案2】:

是的,根据RFC 3966(电话号码的tel URI),在href 的电话号码中添加空格是不正确的:

5.1.1。电话号码中的分隔符

电话号码可以包含视觉分隔符。视觉分隔符 ('visual-separator') 仅有助于提高可读性,不用于 URI 比较或拨打电话... “tel” URI 不得在 视觉分隔符 ...

如您所见,RFC 明确规定:“tel” URI 不得在视觉分隔符中使用空格

【讨论】:

这是一个较旧但仍然相关的问题,现在是 2020 年。无论是否符合规范,带有空格格式为 tel: 链接的电话号码似乎适用于 Chrome。我希望 chrome 开发团队已经对此进行了编码,以允许输入错误,就像某些其他格式错误的 html sn-ps 一样。我没有用其他现代浏览器测试过,如果知道这是否相同会很有趣。

以上是关于HTML 电话链接可以接受值中的空格吗?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Jade 呈现的 HTML 值中的额外空格

html 跟踪Google Analytics中的出站链接,下载,电话,电子邮件链接

html 跟踪Google Analytics中的出站链接,下载,电话,电子邮件链接

HTML a标签详解(4个伪类邮件电话短信GPS)

使 SlickGrid 中的列成为超链接

iPhone 和Android应用,特殊的链接:打电话,短信,email