您现在的位置是:首页 > 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伪静态设置方法
ecshop伪静态设置方法,伪静态其实是ecshop非常好用的一个功能,他可以提高百度收录的速度很利于seo优化那么如何设置伪静态呢?
ecshop订单状态数据表字段说明
order_info 表刚下完订单order_status 0shipping_status 0pay_status 0取消order_status 2shipping_status 0pay_status 0
在ecshop后台左侧导航中增加新菜单的方法
有个别高级用户(懂PHP的),提到这样的问题:在后台管理左侧导航中新增一个菜单项,或者是修改菜单项的名字、或者是删除某菜单项。
ecshop商品加入购物车仿淘宝效果代码示例
ECSHOP商品加入购物车仿淘宝效果。下来我把我的做法贴出来网友们做参考有不对的地方多多指正。
相关源码
-
(自适应)摄像头安防电子设备pbootcms源码下载本模板基于PbootCMS系统开发,为安防电子设备企业设计,特别适合监控摄像头、安防系统等产品的展示。采用响应式技术,确保各类设备参数和功能在不同终端上都能清晰呈现。查看源码 -
(PC+WAP)蓝色自动电动闸门伸缩门类网站pbootcms模板下载为电动闸门、自动伸缩门企业设计的响应式网站模板,突出产品展示与技术优势,助力门控设备企业建立专业数字化形象。手工编写DIV+CSS结构,代码精简高效,无冗余代码干扰,加载速度更快。查看源码 -
帝国cms7.5品牌连锁店招商加盟商机网站模版源码本模板为招商加盟、创业投资、品牌连锁等商业领域设计,采用帝国CMS7.5内核构建,整体风格简洁大气,突出商业信任感与专业度,适合各类招商加盟项目展示、品牌连锁店宣传等商业应用场景。查看源码 -
(自适应)工业机械设备产品介绍免费pbootcms源码下载本网站模板基于PbootCMS内核精心开发,为机械设备与工业产品制造企业量身打造。设计充分考量行业特性,突出产品展示与技术实力呈现查看源码 -
(自适应响应式)HTML5中小学早教教育机构类网站pbootcms模板下载基于PbootCMS内核开发的响应式模板,为早教中心、培训学校等教育机构打造,提供从技术架构到视觉呈现的全套网站建设方案。查看源码 -
帝国cms7.5游戏门户H5小游戏网站模板源码免费下载基于帝国CMS7.5开发的H5游戏门户模板,为在线游戏平台设计。支持PC端与移动端同步生成,打造完整的游戏娱乐体验平台。查看源码
| 分享笔记 (共有 篇笔记) |