Альтернативный способ использования массива допустимых диапазонов, а затем проверьте, находится ли он в массиве или нет. Обратите внимание, что вы можете получить доступ к строке по позиции $t1[$i]
:
$range = array_merge(range(48, 57), range(65, 90), range(97, 122));
for($i=0; $i<strlen($t1); $i++){
if(!in_array(ord($t1[$i]), $range)) {
$validLoginInfoAcceptedUserName = false;
break;
}
$validLoginInfoAcceptedUserName = true;
}
Просто для удовольствия вы можете разбить строку, сопоставить каждый символ с ord
и вычислить разницу с диапазоном:
$range = array_merge(range(48, 57), range(65, 90), range(97, 122));
$array = array_map('ord', str_split($t1));
$validLoginInfoAcceptedUserName = !(array_diff($array, $range));
Однако просто используйте ctype_alnum :
$validLoginInfoAcceptedUserName = ctype_alnum($t1);