/**
*手机号码校验
**/
function checkmobile($mobile)
{
$vMobile = trim($mobile);
if (empty($vMobile))
{
echo '<script>alert("对不起,您输入的手机号不能为空!");history.back();</script>';
exit;
}
if (strlen($vMobile) != 11)
{
echo '<script>alert("对不起,您输入的手机号不是11位!");history.back();</script>';
exit;
}
$tel = preg_match("/^13[0-9]{1}[0-9]{8}$|15[0-9]{1}[0-9]{8}$|18[0-9]{1}[0-9]{8}$/", $vMobile);
if ($tel)
{
return $vMobile;
}
else
{
echo '<script>alert("对不起,您输入的手机号不正确!");history.back();</script>';
exit;
}
}
---------------------------------------------------------------------------------------------------------------------------------------------------
/**
*校验是不是数字 并取整
*
*/
function checkCount($count)
{
if(empty($count))
{
echo '<script>alert("对不起,您输入的数量不能为空!");history.back();</script>'; exit;
}
if(is_numeric($count)) //判断不是数字
{
return intval($count); //取整
}
else
{
echo '<script>alert("对不起,您输入的数量不是数字!");history.back();</script>'; exit;
}
}
--------------------------------------------------------------------------------------------------------------------------------------------------
/** 邮箱验证**/
function checkEmail($inAddress)
{
return (ereg("^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+",$inAddress));
}
-------------------------------------------------------------------------------------------------------------------------------------------------
/*身份证校验类*/
$Idcheck = new Idcheck('8998987987879');
var_dump($Idcheck->isIdNum());
class Idcheck {
private $idNum;
public function __construct($idNum) {
$this->idNum = (string)$idNum;
}
public function isIdNum() {
$idNum = $this->idNum;
if (strlen($idNum) == 18) {
return $this->idcardCheckSum18($idNum);
} elseif ((strlen($idNum) == 15)) {
$idNum = $this->idcard_15to18($idNum);
return $this->idcardCheckSum18('"' . $idNum . '"');
} else {
return false;
}
}
// 计算身份证校验码,根据国家标准GB 11643-1999
public function idcardVerifyNumber($idcardBase)
{
if(strlen($idcardBase) != 17)
{
return false;
}
//加权因子
$factor = array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
//校验码对应值
$verify_number_list = array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
$checksum = 0;
for ($i = 0; $i < strlen($idcardBase); $i++)
{
$checksum += substr($idcardBase, $i, 1) * $factor[$i];
}
$mod = $checksum % 11;
$verify_number = $verify_number_list[$mod];
return $verify_number;
}
// 将15位身份证升级到18位
public function idcard_15to18($idcard){
if (strlen($idcard) != 15){
return false;
}else{
// 如果身份证顺序码是996 997 998 999,这些是为百岁以上老人的特殊编码
if (array_search(substr($idcard, 12, 3), array('996', '997', '998', '999')) !== false){
$idcard = substr($idcard, 0, 6) . '18'. substr($idcard, 6, 9);
}else{
$idcard = substr($idcard, 0, 6) . '19'. substr($idcard, 6, 9);
}
}
$idcard = $idcard . idcard_verify_number($idcard);
return $idcard;
}
// 18位身份证校验码有效性检查
public function idcardCheckSum18($idcard){
if (strlen($idcard) != 18){ return false; }
$idcard_base = substr($idcard, 0, 17);
if ($this->idcardVerifyNumber($idcard_base) != strtoupper(substr($idcard, 17, 1))){
return false;
}else{
return true;
}
}
}
--------------------------------------------------------------------------------------------------------------------------------------------------
//检查日期是否合法日期
function check_date($date) {
$dateArr = explode("-", $date);
if (is_numeric($dateArr[0]) && is_numeric($dateArr[1]) && is_numeric($dateArr[2])) {
return checkdate($dateArr[1],$dateArr[2],$dateArr[0]);
}
return false;
}
//检查时间是否合法时间
function check_time($time) {
$timeArr = explode(":", $time);
if (is_numeric($timeArr[0]) && is_numeric($timeArr[1]) && is_numeric($timeArr[2])) {
if (($timeArr[0] >= 0 && $timeArr[0] <= 23) && ($timeArr[1] >= 0 && $timeArr[1] <= 59) && ($timeArr[2] >= 0 && $timeArr[2] <= 59))
return true;
else
return false;
}
return false;
}
--------------------------------------------------------------------------------------------------------------------------------------------------