您现在的位置是:首页 > cms教程 > Ecshop商城教程Ecshop商城教程
ecshop收货地址199/198号段提示手机号格式不正确!
阿兰2025-02-25Ecshop商城教程已有人查阅
导读今天有朋友问为什么ecshop在提交收货地址的时候19开始的手机号提示“手机号码不是合法号码”或者“提示手机号格式不正确”!但是提交13,18,15开头的手机号又没问题。
原代码
根目录/js/utils.js
Utils.isEmail = function( email )
{
var reg1 = /([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)/;
return reg1.test( email );
}
Utils.isMobile = function( mobile )
{
var reg1 = /^(0|86|17951)?(13[0-9]|15[012356789]|15[0-9]|17[0-9]|17[0-9]|18[0-9]|14[57])[0-9]{8}$/;
return reg1.test( mobile );
}
Utils.isTel = function ( tel )
{
var reg = /^[\d|\-|\s|\_]+$/; //只允许使用数字-空格等
return reg.test( tel );
}
为了方便大家看懂,我对这三段代码进行解释;
这段代码定义了三个函数,分别用于验证电子邮件地址(isEmail)、手机号码(isMobile)和电话号码(isTel)的格式是否正确。每个函数都使用正则表达式来测试输入的字符串是否符合特定的格式要求。下面是对每个函数的详细解释:
1. Utils.isEmail(email)
这个函数用于验证电子邮件地址的格式。它接受一个字符串参数email,并使用正则表达式reg1来测试这个字符串是否符合电子邮件地址的常见格式。
正则表达式解释:
([\w-\.]+): 匹配一个或多个字母数字字符(包括下划线)、点(.)。这通常是电子邮件的用户名部分。
@: 匹配@符号。((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)匹配域名部分,可以是IP地址格式(例如‘[192.168.1.1]‘),或者是常规的域名格式(例如‘example.com‘)。?‘([a?zA?Z]2,4∣[0?9]1,3)(?): 匹配顶级域名(TLD),可以是2到4个字母,或者是1到3个数字,可选地以]`结尾(用于匹配IP地址格式的电子邮件)。
如果输入的email字符串符合这个正则表达式,函数返回true,否则返回false。
2. Utils.isMobile(mobile)
这个函数用于验证手机号码的格式。它接受一个字符串参数mobile,并使用正则表达式reg1来测试这个字符串是否符合中国大陆手机号码的格式。
正则表达式解释:
^(0|86|17951)?: 可选的国际区号,包括0(国内拨打时通常省略的前缀)、86(中国的国际电话区号)、17951(IP电话卡前缀)。
(13[0-9]|15[012356789]|15[0-9]|17[0-9]|17[0-9]|18[0-9]|14[57]): 手机号码的前三位,代表不同的运营商和号段。注意这里有一个重复项15[0-9]和17[0-9],可能是编写时的错误。
[0-9]{8}$: 剩余的8位数字。
如果输入的mobile字符串符合这个正则表达式,函数返回true,否则返回false。
3. Utils.isTel(tel)
这个函数用于验证电话号码的格式,但它允许较为宽泛的字符,包括数字、短横线(-)、空格和下划线(_)。它接受一个字符串参数tel,并使用正则表达式reg来测试。
正则表达式解释:
^[\d|\-|\s|\_]+$: 从字符串开始到结束,只允许数字(\d)、短横线(-)、空格(\s)和下划线(_)这些字符,且至少有一个这样的字符。
如果输入的tel字符串符合这个正则表达式,函数返回true,否则返回false。这个函数对于验证包含分隔符的电话号码很有用,但对于严格格式的国际电话号码验证可能不够精确。
解决方法
通过上述的解释大家也能看到2.Utils.isMobile(mobile)函数在限制手机号段的时候没有新增到199类号段所以提示手机号码不正确,下面的修改后的代码。
Utils.isEmail = function( email )
{
var reg1 = /([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)/;
return reg1.test( email );
}
Utils.isMobile = function( mobile )
{
var reg1 = /^(0|86|17951)?(13[0-9]|15[012356789]|15[0-9]|17[0-9]|19[0-9]|18[0-9]|14[57])[0-9]{8}$/; //加了19[0-9]号段
return reg1.test( mobile );
}
Utils.isTel = function ( tel )
{
var reg = /^[\d|\-|\s|\_]+$/; //只允许使用数字-空格等
return reg.test( tel );
}
修改完成之后后台更新缓存,清理浏览器缓存即可,JS文件不清理浏览器缓存是不行的。
本文标签:
很赞哦! ()
图文教程
ecshop实现用户名或Email都能登陆的修改方法
相信很多使用ECSHOP的朋友都想要这个功能,网上也有很多类似的修改教程。下面说一下我的方法,也比较简单,已在ECSHOP2.7.2版测试通过。
ecshop数据库清空的方法,ecshop数据执行SQL命令收集整理
有时候想清空商城一些没有必要数据但是手动删除太慢了,代码号今天整理一些SQL执行清空命令,希望对大家有所帮助!
ecshop里操作session与cookie的方法
js里读取cookie// 将document.cookie的值以名/值对组成的一个对象返回html模板里smart的保留变量html模板里取session里的变量
ecshop商品名称或文章标题后省略号怎么删除
使用ECSHOP 的人都知道,在商品列表页或文章列表页,如果商品名称或文章标题比较长的话,后面会出现一个 省略号 ...,即使你在模板文件
相关源码
-
(自适应响应式)html5高档服装定制西服pbootcms模板下载本模板基于PbootCMS内核开发,为服装定制企业和服装品牌量身打造。设计风格时尚现代,充分展现服装行业的审美特质与品牌魅力。采用HTML5响应式技术,确保在各种设备上呈现视觉效果。整站布局注重产品展示与品牌叙事,帮助企业有效展示服装系列与定制服务,提升客户体验。查看源码 -
自适应车行汽车租赁二手车行业企业网站模板为汽车租赁与二手车交易场景深度优化,采用PbootCMS内核开发,聚焦车辆展示、租赁流程与服务介绍三大核心模块。响应式布局确保PC与移动端数据实时同步,后台一键管理车辆信息查看源码 -
(PC+WAP)绿色硅胶橡胶玩具制品营销型网站源码下载为硅胶橡胶制品及玩具行业打造的营销型网站模板,采用PbootCMS内核开发,通过模块化设计实现产品参数、安全认证、应用场景等专业内容的可视化呈现,助力企业建立可信赖的线上展示平台。查看源码 -
(自适应响应式)门窗定制门业带视频功能pbootcms模板下载本模板采用PbootCMS内核开发,为门窗制造、定制安装企业打造,通过可视化后台管理系统快速构建品牌官网。自适应设计确保在手机、平板、电脑等设备上均能获得优质浏览体验查看源码 -
(自适应)宽屏大气红色机械设备pbootcms模板源码下载为机械设备制造企业设计的响应式网站模板,采用PbootCMS内核开发。宽屏布局突出设备展示效果,红色工业风格贴合机械行业属性,支持PC端与手机端自动适配查看源码 -
自适应手机版五金机械阀门设备通用行业网站模板该PbootCMS内核开发的网站模板适用于阀门设备、五金机械类企业,通过更换文字图片也可快速适配其他工业领域。采用响应式设计,确保PC端与手机端数据同步,操作便捷,并附带测试数据。查看源码
| 分享笔记 (共有 篇笔记) |
