您现在的位置是:首页 > cms教程 > ecshop商城教程ecshop商城教程
ecshop收货地址199/198号段提示手机号格式不正确!
阿兰2025-02-25 10:20:51ecshop商城教程已有22人查阅
导读今天有朋友问为什么ecshop在提交收货地址的时候19开始的手机号提示“手机号码不是合法号码”或者“提示手机号格式不正确”!但是提交13,18,15开头的手机号又没问题。
原代码
根目录/js/utils.js
为了方便大家看懂,我对这三段代码进行解释;
这段代码定义了三个函数,分别用于验证电子邮件地址(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类号段所以提示手机号码不正确,下面的修改后的代码。
本文标签:
很赞哦! (1)
暂无内容 |
暂无内容 |
暂无内容 |
暂无内容 |
随机图文
ecshop商品加入购物车仿淘宝效果代码示例
ECSHOP商品加入购物车仿淘宝效果。下来我把我的做法贴出来网友们做参考有不对的地方多多指正。ecshop常用标签大全
先从index.php主页开始页面关键字 {$keywords }页面标题 {$page_title}产品分类父分类列表 {foreach from=$categories item=cat }父分类超链接 http://localhost/ecshecshop商品浏览历史按照浏览先后排序的实现方法
ECSHOP模板中 让浏览历史按照浏览先后进行排序只修改一处,让浏览历史按照浏览先后进行排序经测试,浏览历史目前默认的显示顺序是按照商品的ID排序的了解ecshop中的aes加密封装
从一家做shopex,ecstore的公司到一家做b2b的ecshop的公司...来了就要实战,其他的不说了,先来了解什么是php的aes加密吧?
留言与评论 (共有 0 条评论) |