Files
gxwebsoft 2b69686795 feat(app): 添加多模板关于我们页面及相关路由和404页面
- 新增404页面,优化未找到页面体验,避免被搜索引擎索引
- 增加文件代理接口,隐藏真实文件服务器地址,支持文件请求代理
- 实现/article、/case、/product及/page动态路由兼容列表与详情展示
- 添加动态CMS页面兼容入口处理旧式路径,统一路由与SEO设置
- 新增模板1、模板7、模板2、模板3关于我们页面,实现多模板支持
- 模板增强支持CMS单页内容加载及SEO信息动态设置
- 配置环境变量及Git忽略文件规则辅助开发和构建环境管理
2026-09-08 12:13:44 +08:00

25 lines
822 B
TypeScript

/**
* 表单/留言输入校验
* 电话号段支持:中国大陆手机号 + 港澳台/海外(+区号 或 00 区号)。
*/
/** 归一化:去除空格、括号、连字符;00 开头视为国际号 */
export function normalizePhone(v: string): string {
return (v || '').replace(/[\s()-]/g, '').replace(/^00/, '+')
}
/**
* 校验电话是否有效。
* - 含 + 或 00 前缀:按国际号码处理,国家码+号码总长 8~15 位即可(覆盖港澳台/海外)。
* - 无前缀:按中国大陆手机号 1[3-9]\d{9} 处理。
*/
export function validatePhone(value: string): boolean {
const v = normalizePhone(value)
if (!v) return false
if (v.startsWith('+')) {
const digits = v.slice(1).replace(/[^\d]/g, '')
return /^\d{8,15}$/.test(digits)
}
return /^1[3-9]\d{9}$/.test(v)
}