一些常用实用的PHP方法汇总集合(二)
-
邮箱验证
$email = '1103998860@qq';
$preg_email = '/^[a-zA-Z0-9]+([-_.][a-zA-Z0-9]+)*@([a-zA-Z0-9]+[-.])+([a-z]{2,5})$/ims';
if (preg_match($preg_email, $email)) {
echo 1;
} else {
echo 0;
}
-
手机号码验证
$phone='18201613856';
$preg_phone='/^1[3456789]\d{9}$/ims';
if(preg_match($preg_phone,$phone)) {
echo 1;
} else {
echo 0;
} -
验证身份证号
/**
* 身份证号验证
* @param $carNo
* @return bool
*/
public function is_idcard($carNo) {
$id = strtoupper($carNo);
$regx = "/(^\d{15}$)|(^\d{17}([0-9]|X)$)/";
$arr_split = array();
if (!preg_match($regx, $id)) {
return 0;
}
if (15 == strlen($id)) {
$regx = "/^(\d{6})+(\d{2})+(\d{2})+(\d{2})+(\d{3})$/";
@preg_match($regx, $id, $arr_split);
$dtm_birth = "19" . $arr_split[2] . '/' . $arr_split[3] . '/' . $arr_split[4];
if (!strtotime($dtm_birth)) {
return 1;
} else {
return 0;
}
} else {
$regx = "/^(\d{6})+(\d{4})+(\d{2})+(\d{2})+(\d{3})([0-9]|X)$/";
@preg_match($regx, $id, $arr_split);
$dtm_birth = $arr_split[2] . '/' . $arr_split[3] . '/' . $arr_split[4];
if (!strtotime($dtm_birth)) {
return 0;
} else {
$arr_int = array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
$arr_ch = array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
$sign = 0;
for ($i = 0; $i < 17; $i++) {
$b = (int)$id {
$i
}
;
$w = $arr_int[$i];
$sign += $b * $w;
}
$n = $sign % 11;
$val_num = $arr_ch[$n];
if ($val_num != substr($id, 17, 1)) {
return 0;
} else {
return 1;
}
}
}
}
-
过滤HTML标签
function filterHtml($str)
{
$farr = array(
"/\s+/",
"/<(\/?)(script|i?frame|style|html|body|title|link|meta|\?|\%)([^>]*?)>/isU",
"/(<[^>]*)on[a-zA-Z]+\s*=([^>]*>)/isU",
);
$str = preg_replace($farr, '', $str);
return $str;
}
-
根据日期获取星期几
function get_week($date)
{
$date_str = date('Y-m-d', strtotime($date));
$arr = explode("-", $date_str);
$year = $arr[0];
$month = sprintf('%02d', $arr[1]);
$day = sprintf('%02d', $arr[2]);
$hour = $minute = $second = 0;
$strap = mktime($hour, $minute, $second, $month, $day, $year);
$number_wk = date("w", $strap);
$weekArr = array("周日", "周一", "周二", "周三", "周四", "周五", "周六");
return $weekArr[$number_wk];
} -
生成订单编号
function get_order_num($randLength = 6)
{
$dataString = date('YmdHis');
$orderNum = $dataString . substr(implode(NULL, array_map('ord', str_split(substr(uniqid(), 7, 13), 1))), 0, $randLength);
return $orderNum;
}