php正則表達式驗證用戶名

//中文和英文結合而且6-20字符

$preg='/^[a-zA-Z\x{4e00}-\x{9fa5}]{6,20}$/u';
//英文、數字、下劃線6-20位字符
$preg='/^[\w\_]{6,20}$/u';



過濾非法字符防止SQL注入漏洞,只能另說,對不同的接口和參數有針對性的過濾,沒有通用的正則。

 

用戶名改成純英文或者純中文

<?php
//中文和英文結合而且6-20字符
$name='aa中aassd';
 
$preg='/^[a-zA-Z\x{4e00}-\x{9fa5}]{6,20}$/u';
$preg2='/^[a-zA-Z]+$/u';
$preg3='/^[\x{4e00}-\x{9fa5}]+$/u';
 
if(preg_match($preg2,$name) || preg_match($preg3,$name)){
    echo "錯誤";//純中文或純英文
}elseif(preg_match($preg,$name)){
    echo "OK";//中文結合,因爲前面排除純中文或者純因爲
}else{
    echo "錯誤";
}
 
//英文、數字、下劃線6-20位字符
$preg='/^[\w\_]{6,20}$/u';
?>


 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章