You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

适配含空格格式的新加坡手机号码正则表达式构建需求

匹配带可选空格的新加坡手机号码正则表达式

实用正则表达式

针对你需要支持的无空格和+65 XXXX XXXX格式,以及中间任意单个空格的场景,推荐两个版本:

宽松版(允许任意位置单个空格)

^\+65\s?[689]\d{3}\s?\d{4}$

严格版(仅匹配无空格或+65 XXXX XXXX格式)

^\+65(?:[689]\d{7}|\s[689]\d{3}\s\d{4})$

规则拆解

以宽松版为例:

  • ^:锚定字符串开头,避免匹配字符串中间的号码片段
  • \+65:匹配新加坡手机号固定前缀+65,\转义+(正则中+是量词,需转义才能匹配字面量)
  • \s?:匹配0个或1个空格,支持前缀后可选空格
  • [689]:限定第二位数字只能是6、8、9
  • \d{3}:匹配接下来3个数字,和前面的[689]组成4位前缀后数字
  • \s?:匹配0个或1个空格,支持4位数字后的可选分隔空格
  • \d{4}:匹配最后4位数字
  • $:锚定字符串结尾,确保号码后没有多余字符

测试验证

  • 匹配成功的案例:
    • +6581234567(无空格格式)
    • +65 8123 4567(标准分段格式)
    • +65 81234567(仅前缀后空格)
    • +658123 4567(仅中间分段空格)
  • 匹配失败的案例:
    • 6581234567(缺少+前缀)
    • +6571234567(第二位数字为7,不符合规则)
    • +65 812 34567(错误的分段方式)

补充说明

如果需要支持连续空格(比如+65 8123 4567),可以把\s?改成\s*(*表示0个或多个空格),但实际场景中这类格式很少见,按需调整即可。

内容的提问来源于stack exchange,提问作者capt.swag

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 13:27:19