是否有Php函数来确定字符串是否仅由ASCII字母数字字符组成?
注意:如果这个问题对某些人来说听起来很愚蠢,我很抱歉,但我在Php手册中找不到这样的功能。
答案 0 :(得分:9)
答案 1 :(得分:1)
preg_match('/^[a-z0-9]+$/i', $str);
编辑:John T的答案更好。只是提供另一种方法。
答案 2 :(得分:0)
这是我的解决方案
<?php
public function alphanum($string){
if(function_exists('ctype_alnum')){
$return = ctype_alnum($string);
}else{
$return = preg_match('/^[a-z0-9]+$/i', $string) > 0;
}
return $return;
}
?>
答案 3 :(得分:0)
我的长而简单的解决方案
strspn($string, '0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM_') == strlen($string)
函数strspn()查找$ string的初始段的长度,该段仅包含字母,数字和下划线字符(第二个参数)。如果整个字符串只包含字母,数字和下划线,则返回的值将与字符串的长度一致。