php生成隨機字符串函數(支持字母大小寫,數字,中文)
/** +----------------------------------------------------------
- 產生隨機字串, 可用來自動生成密碼,驗證碼,表單令牌等
- 默認長度6位 字母和數字混合 支持中文 +----------------------------------------------------------
- @param string $len 長度
- @param string $type 字串類型
- 0 字母 1 數字 其它 混合
- @param string $addChars 額外字符 +----------------------------------------------------------
- @return string
+----------------------------------------------------------
*/
function rand_string($len = 6, $type = '', $addChars = '') {
$str = '';
switch ($type) {
} if ($len > 10) { //位數過長重復字符串一定次數case 0 : $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' . $addChars; break; case 1 : $chars = str_repeat('0123456789', 3); break; case 2 : $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' . $addChars; break; case 3 : $chars = 'abcdefghijklmnopqrstuvwxyz' . $addChars; break; default : // 默認去掉了容易混淆的字符oOLl和數字01,要添加請使用addChars參數 $chars = 'ABCDEFGHIJKMNPQRSTUVWXYZabcdefghijkmnpqrstuvwxyz23456789' . $addChars; break;
} if ($type != 4) {$chars = $type == 1 ? str_repeat($chars, $len) : str_repeat($chars, 5);
} else {$chars = str_shuffle($chars); $str = substr($chars, 0, $len);
} return $str; } </pre>// 中文隨機字 for ($i = 0; $i < $len; $i++) { $str .= msubstr($chars, floor(mt_rand(0, mb_strlen($chars, 'utf-8') - 1)), 1); }
本文由用戶 efy6 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!