You need to enable JavaScript to run this app. 如何在Shopify中使用Liquid格式化电话号码?
优惠活动
大模型
产品
解决方案
定价
更多

如何在Shopify中使用Liquid格式化电话号码?

Shopify 中通过 Liquid 实现电话号码格式化的方法

shop.phone 对象的默认输出格式完全跟随店铺后台的联系方式设置变动,Liquid 没有内置的电话号码格式化专用过滤器,需要通过自定义字符串处理逻辑实现统一的展示格式。

  • 原始内容清洗
    先将 shop.phone 输出内容中的所有非数字特殊字符(加号、横杠、括号、空格、点号等)全部移除,得到纯数字的号码串,作为后续格式化的统一基础,避免因后台设置变动(比如分隔符类型、前后空格)导致逻辑失效。示例代码:
    assign cleaned_phone = shop.phone | remove: '+' | remove: '-' | remove: '(' | remove: ')' | remove: ' ' | remove: '.'
  • 按规则拼接格式
    基于清洗后的纯数字串长度做分支判断,拆分对应号码片段,拼接为目标展示格式。以最常用的北美10位本地号码格式为例:
    • 当清洗后号码长度为10位时,拆分片段拼接为 (XXX) XXX-XXXX 格式,参考逻辑:
      {% if cleaned_phone.length == 10 %}
      {% assign area_code = cleaned_phone[0..2] %}
      {% assign prefix_num = cleaned_phone[3..5] %}
      {% assign line_num = cleaned_phone[6..9] %}
      {% assign formatted_phone = '(' | append: area_code | append: ') ' | append: prefix_num | append: '-' | append: line_num %}
      {% endif %}
    • 当清洗后号码长度为11位且首位为国家码1时,自动补上+1国家码前缀,再按上述规则拆分拼接。
  • 增加兜底判断
    如果清洗后的号码长度不符合预设的格式规则,直接输出原始 shop.phone 内容,避免号码展示错乱。

注意:如果店铺覆盖多个国家/地区的号码,需要提前为不同国家码匹配对应的格式化规则,不能硬套单一区域的号码格式。

内容的提问来源于stack exchange,提问作者DeFeNdog

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.05 00:36:08