用于确定字符串是否仅包含字母数字字符的Php函数?

时间:2008-12-01 07:23:12

标签: php string

是否有Php函数来确定字符串是否仅由ASCII字母数字字符组成?

注意:如果这个问题对某些人来说听起来很愚蠢,我很抱歉,但我在Php手册中找不到这样的功能。

4 个答案:

答案 0 :(得分:9)

尝试ctype_alnum

答案 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的初始段的长度,该段仅包含字母,数字和下划线字符(第二个参数)。如果整个字符串只包含字母,数字和下划线,则返回的值将与字符串的长度一致。

相关问题