【问题标题】:Php function to determine if a string consist of only alphanumerical characters?php函数判断一个字符串是否只包含字母数字字符?
【发布时间】:2008-12-01 07:23:11
【问题描述】:

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

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

【问题讨论】:

    标签: php string


    【解决方案1】:

    试试ctype_alnum

    【讨论】:

      【解决方案2】:
      preg_match('/^[a-z0-9]+$/i', $str);
      

      编辑:John T 的回答更好。只是提供另一种方法。

      【讨论】:

        【解决方案3】:

        这是我的解决方案

        <?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;
        }
        ?>
        

        【讨论】:

          【解决方案4】:

          我的冗长但简单的解决方案

          strspn($string, '0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM_') == strlen($string)
          

          函数 strspn() 查找 $string 的初始段的长度,该段仅包含字母、数字和下划线字符(第二个参数)。如果整个字符串只包含字母、数字和下划线,则返回值将等于字符串的长度。

          【讨论】:

          • 在答案中添加一些描述。
          猜你喜欢
          • 2014-06-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-05-01
          • 2020-08-26
          相关资源
          最近更新 更多