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

DDMMSSH格式纬度正则优化:分/秒为60时后续值需为0

实现分/秒为60时后续值全为0的经纬度正则校验

完全可以通过正则实现这个约束。以下是修正后的正则,同时保留原格式的兼容性(支持DDH、DDMMH、DDMMSSH、DDMMSS.S*H等格式):

纬度校验正则

var latregex = new RegExp("((900000(?:\\.0*)?)|(?:[0-8]\\d)(?:(?:[0-5]\\d)(?:(?:[0-5]\\d)(?:\\.\\d*)?|60(?:\\.0*)?)?|6000(?:\\.0*)?))[NS]");

经度校验正则

var longregex = new RegExp("((1800000(?:\\.0*)?)|(?:(?:[0-8]\\d|17\\d)(?:(?:[0-5]\\d)(?:(?:[0-5]\\d)(?:\\.\\d*)?|60(?:\\.0*)?)?|6000(?:\\.0*)?)))[EW]");

关键逻辑说明

  • 极值兼容:单独处理纬度90°、经度180°的情况,允许这类极值后跟随任意位全0的小数(比如900000.000S合法)。
  • 分的约束:当分字段为60时,后续的秒字段必须是00且小数位全为0(比如346000S、346000.000S合法,346060S非法)。
  • 秒的约束:当秒字段为60时,其小数部分必须全为0(比如345960.000S合法,345960.123S非法)。
  • 正常范围兼容:分、秒在00-59时,仍支持原有的任意小数位格式(比如341111.456S合法)。

测试案例

  • 合法输入:3460S、346000S、346000.000S、345960.000S、900000S
  • 非法输入:346060S、341160.123S、900001S

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 16:20:12