您现在的位置是:首页 > 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数据调用分好几种, 种是js调用,利用后台生成js代码调用相应的产品,js调用的好处就是方便实用,一句话就可以完成调用,而且可以跨站调用,有利于推广。
ecshop首页轮播广告图片播放器怎么用js播放器替换
1、首页主广告管理-》自定义,粘下以下代码;寻找$smarty->display('index.dwt', $cache_id);下面加:
ecshop用户会员必须注册登录才可以浏览产品的实现方法
ecshop用户必须先登录才可以浏览商城网站教程,用户打开你ECSHOP商城首页直接跳转到登录页面,必须先注册,登录网站以后才可以浏览你的商城简单修改教程。
ecshop首页怎么添加商品分类下的品牌
有时我们需要在网站首页添加某个分类下的品牌,这就需要做些ecshop的二次开发,我写了一个简单的函数只要放在index.php中直接调用就ok了。
相关源码
-
(自适应响应式)门窗定制门业带视频功能pbootcms模板下载本模板采用PbootCMS内核开发,为门窗制造、定制安装企业打造,通过可视化后台管理系统快速构建品牌官网。自适应设计确保在手机、平板、电脑等设备上均能获得优质浏览体验查看源码 -
(自适应手机端)英文外贸电子产品通用pbootcms模板源码下载为电子产品外贸企业设计的响应式网站模板,采用PbootCMS开发内核,支持多语言展示。模板默认集成产品展示系统、询价表单模块和企业资质展示区,满足跨境贸易基础需求。整站采用模块化设计,便于扩展业务场景。查看源码 -
(自适应响应式)供应链进出口服务pbootcms企业网站源码为供应链管理、进出口服务类企业设计,特别适合展示物流网络、贸易服务和供应链解决方案。采用响应式技术,确保在各类设备上都能呈现企业服务内容。查看源码 -
(自适应)平面设计网络工作室个人作品展示网站模板免费下载基于PbootCMS内核开发的响应式网站模板,为设计工作室、创意机构打造的作品展示解决方案。通过模块化布局与极简交互设计,呈现设计作品的视觉细节,支持作品分类、案例解析等多维度展示方式。查看源码 -
(自适应响应式)环保净化器家用电器网站免费模板针对环保设备、环境监测等领域的PbootCMS响应式模板,通过模块化设计清晰展示污水处理技术、空气净化系统等解决方案。移动端呈现环保数据可视化图表,后端统一管理确保项目案例、技术等资料多端同步。查看源码 -
(自适应响应式)WORDwps办公资源教程资讯网站模板下载基于PbootCMS内核开发的响应式网站模板,为办公教程、WPS技巧分享、职场技能培训等场景打造。模板内置标准化文档分类体系,支持图文/视频教程混合展示,满足现代办公知识传播需求。查看源码
| 分享笔记 (共有 篇笔记) |
