php用戶名正則
發布時間: 2024-01-16 10:57:08
1. php 正則表達式如何判斷一個字元串是否為合法的四則數學算式
代碼如下(經測通過):
<?php
$str="((1+1)*3.3)/10-12+(1+1)";
if(preg_match("/[+-*/.]{2}|[^+-*/()d.]+/i",$str,$matches)){
echo'非法算式';
}else{
if(substr_count($str,"(")==substr_count($str,")")){
echo'合法算式';
}else{
echo'括弧不匹配';
}
}
?>
判斷str里是否存在連續運算符、小數點或運算符、括弧、數字以外的字元
若存在則非法
若不存在則判斷str里( 和 )數量是否一致
2. php 判斷 用戶名 英文或者數字
用正則來判斷,如檢查是否數字的代碼: 1 2 if(preg_match("/^\d*$/",$fgid)) echo('是數字'); else echo('不是數字'); 驗證由26個英文字母組成的字元串:^[A-Za-z]+$ 驗證由26個大寫英文字母組成的字元串:^[A-Z]+$ 驗證由數字和26個英文字母組成的字元串:^[A-Za-z0-9]+$
3. 求一個PHP的密碼匹配正則
你這里要求了密碼長度為6-18位,/[\s\S]+/只能匹配任意字元,且能偶匹配的字元遠超出你給的限制。
建議你在匹配密碼前,先對密碼字元串的長度進行檢驗,然後再對密碼字元的合法性進行判斷,
這里合法性的判斷又有很多,如必須以字母開頭、數字開頭、數字結尾等等;
下面寫了一個正則表達式只能匹配當且僅包含由字母、數字、特殊字元!@#$%^&*_組成的密碼字元串。
如下:
[-\da-zA-Z!@#$%^&*_]*
更嚴格的判斷,比如開頭^,結尾$的判斷,必須包含一個字母一個數字等等,根據自己的需要進行更改完善
4. php正則表達式驗證用戶名
//中文和英文結合而且6-20字元
$preg='/^[a-zA-Z\x{4e00}-\x{9fa5}]{6,20}$/u';
//英文、數字、下劃線6-20位字元
$preg='/^[\w\_]{6,20}$/u';
過濾非法字元防止SQL注入漏洞,只能另說,對不同的介面和參數有針對性的過濾,沒有通用的正則。
熱點內容