웹/php
php 랜덤 문자열 숫자 생성 함수
몽키 D.루피
2016. 7. 14. 09:05
function get_random_string($len = 10, $type = '') {
$lowercase = 'abcdefghijklmnopqrstuvwxyz';
$uppercase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$numeric = '0123456789';
$special = '`~!@#$%^&*()-_=+\\|[{]};:\'",<.>/?';
$key = '';
$token = '';
if ($type == '') {
$key = $lowercase.$uppercase.$numeric;
} else {
if (strpos($type,'09') > -1) $key .= $numeric;
if (strpos($type,'az') > -1) $key .= $lowercase;
if (strpos($type,'AZ') > -1) $key .= $uppercase;
if (strpos($type,'$') > -1) $key .= $special;
}
for ($i = 0; $i < $len; $i++) {
$token .= $key[mt_rand(0, strlen($key) - 1)];
}
return $token;
}
//사용예
echo '기본 : ' . get_random_string() . '<br />';
echo '숫자만 : ' . get_random_string('09') . '<br />';
echo '숫자만 30글자 : ' . get_random_string('09', 30) . '<br />';
echo '소문자만 : ' . get_random_string('az') . '<br />';
echo '대문자만 : ' . get_random_string('AZ') . '<br />';
echo '소문자+대문자 : ' . get_random_string('azAZ') . '<br />';
echo '소문자+숫자 : ' . get_random_string('az09') . '<br />';
echo '대문자+숫자 : ' . get_random_string('AZ09') . '<br />';
echo '소문자+대문자+숫자 : ' . get_random_string('azAZ09') . '<br />';
echo '특수문자만 : ' . get_random_string('$') . '<br />';
echo '숫자+특수문자 : ' . get_random_string('09$') . '<br />';
echo '소문자+특수문자 : ' . get_random_string('az$') . '<br />';
echo '대문자+특수문자 : ' . get_random_string('AZ$') . '<br />';
echo '소문자+대문자+특수문자 : ' . get_random_string('azAZ$') . '<br />';