Javascript/PHP的校验补全位数IMEI代码
记录一下如何通过Javascript或PHP校验IMEI代码,以及14位IMEI补全15位的计算方法。用于干什么?说了你也不懂,懂的不说也懂。哈哈~~
Javascript校验:
function isIMEI(s) {
var etal = /^[0-9]{15}$/;
if (!etal.test(s))
return false;
sum = 0;
mul = 2;
l = 14;
for (i = 0; i < l; i++) { digit = s.substring(l - i - 1, l - i); tp = parseInt(digit, 10) * mul; if (tp >= 10)
sum += (tp % 10) + 1;
else
sum += tp;
if (mul == 1)
mul++;
else
mul--;
}
chk = ((10 - (sum % 10)) % 10);
if (chk != parseInt(s.substring(14, 15), 10))
return false;
return true;
}
PHP校验IMEI:
function checkIMEI($str)
{
if (!preg_match('/^[0-9]{15}$/is', $str)) {
return false;
}
$sum = 0;
$mul = 2;
$l = 14;
for ($i = 0; $i < $l; $i++) { $digit = substr($str, $l - $i - 1, 1); $tp = intval($digit, 10) * $mul; if ($tp >= 10) {
$sum += ($tp % 10) + 1;
} else {
$sum += $tp;
}
if ($mul == 1) {
$mul++;
} else {
$mul--;
}
}
$chk = ((10 - ($sum % 10)) % 10);
if ($chk != intval(substr($str, 14, 1), 10)) {
return false;
}
return true;
}
PHP 14位IMEI补全15位:
function makeCheckIMEI($str)
{
if (!preg_match('/^[0-9]{14}$/is', $str)) {
return false;
}
$sum = 0;
$mul = 2;
$l = 14;
for ($i = 0; $i < $l; $i++) { $digit = substr($str, $l - $i - 1, 1); $tp = intval($digit, 10) * $mul; if ($tp >= 10) {
$sum += ($tp % 10) + 1;
} else {
$sum += $tp;
}
if ($mul == 1) {
$mul++;
} else {
$mul--;
}
}
$chk = ((10 - ($sum % 10)) % 10);
return $str.strval($chk);
}
- 相关文章
- 在ecshop的商品详情页调用商品所属品牌的描述ecshop中批量替换货号前缀PHP 性能优化技巧php中用substr截取时中文乱码的解决办法PHP服务器变量$_SERVER详解PHP中的正则表达式完整的editplus之php语法文件用php实现远程网络文件下载到服务器使用PHP通过GOOGLE翻译接口自动翻译文件PHP中rawurlencode将字符串编码成URL专用格式时与页面编码的关系全新学习PHP[第一天]PHP技巧:php过滤危险html代码php中计算时间差的几种方法PHP读取目录下所有文件的代码一个图形显示IP的PHP程序代码php下过滤HTML代码的函数ASP与PHP读取多张表(多张表的操作)越来越喜欢玩PHP了最近喜欢上PHP了[转载]关于ajax与php结合中文处理问题
-
标签:javascript、php、IMEI 发布于:2021-02-09 15:11:12
当前共有0条评论,我也要发表: