naisi_coordinates_is_valid
验证经度、纬度或英文逗号分隔的完整坐标。
经度范围 [-180, 180],纬度范围 [-90, 90],包含边界,最多 15 位小数。 支持正负号和首尾 ASCII 空白;不支持科学计数法、中文逗号或数字中的空白。 合并格式必须恰有一个英文逗号、两侧非空,且 $latitude 必须为 null。 null 表示该项不参与校验;两项均为 null、空字符串或任一项非法时返回 false。
函数签名
function naisi_coordinates_is_valid(?string $coordinates = null, ?string $latitude = null): bool
调用前提
应用入口先调用 naisi_is_ext_license_valid 并确认返回 true。只验证同一请求内已有的有效 FULL/BASIC 证明;没有证明或证明失效时立即返回失败值,不现场补做完整校验。
授权类别:LICENSE;执行模式:PROOF。许可不代替登录、租户或权限上下文;身份与数据要求见本页参数及用途说明。
参数
$coordinates
- 类型:
?string - 必填:否
- 默认值:
null - 方向:输入参数。
单独经度或“经度,纬度”文本;null 表示不提供经度,默认 null。
$latitude
- 类型:
?string - 必填:否
- 默认值:
null - 方向:输入参数。
单独纬度文本;null 表示不提供纬度,默认 null。合并坐标形式下必须为 null。
返回值
类型:bool
至少提供一项且所有提供的坐标均合法时返回 true,否则返回 false。
调用示例
当前请求须满足上方调用前提;请检查实际返回值和引用输出,随机结果及数据包内容以运行环境为准。
$coordinates = '101.000001,11.123456';
$latitude = null;
$result = naisi_coordinates_is_valid($coordinates, $latitude);
var_export($result);
坐标格式与失败规则
经度范围 [-180, 180],纬度范围 [-90, 90],包含边界,最多 15 位小数。数字格式为可选正负号、至少一位整数,以及可选的小数点和 1~15 位小数;允许前导零和坐标两侧 ASCII 空白。不接受科学计数法、中文逗号、数字内部空白、NUL、.5、1.、NaN 或 INF。合并形式必须恰有一个英文逗号且两侧非空,第二个参数必须为 null。
按十进制数字精确判断边界,不经过浮点转换。原始 PHP 类型不匹配、无参数、空字符串、非法格式、超出范围或未授权返回 false;参数数量错误遵循 PHP 规则。
升级与相关接口
当前公开接口统一为本函数,旧 naisi_longitude_is_valid() 和 naisi_latitude_is_valid() 已移除。仅经度传第一个参数;仅纬度使用 latitude: 命名参数或传入 null, $latitude。
版本信息
- 实现模块:
validation - 授权类别:
LICENSE/PROOF - 失败回退:
false - 文档同步:
2026-10-18