• PHP内置函数之ctype_alnum() 函数检查字符串是否由字符和数字组成


    例如,你可能需要一个用户名只能由字母及数字组成:

    尽管在这种情况下可以用正则表达式,但使用PHP内置函数是更完美的。这些函数包含错误的可能性要比你自已写的代码出错的可能性要低得多,而且在过滤逻辑中的一个错误几乎就意味着一个安全漏洞.

    bool ctype_alnum ( string $text )

    reject note 范例

     

    Example #1 A ctype_alnum() example (using the default locale)

    <?php
    $strings = array('AbCd1zyZ9', 'foo!#$bar');
    foreach ($strings as $testcase) {
        if (ctype_alnum($testcase)) {
            echo "The string $testcase consists of all letters or digits.\n";
        } else {
            echo "The string $testcase does not consist of all letters or digits.\n";
        }
    }
    ?>

    以上例程会输出:

    The string AbCd1zyZ9 consists of all letters or digits. 
    The string foo!#$bar does not consist of all letters or digits.

    //判断是否是字母和数字或字母数字的组合
    if(!ctype_alnum($str)){
        echo '只能是字母或数字的组合';exit;
    }


    整理下ctype functions:

    复制代码
    1.ctype_alnum(string $text)://检查是否是字母或数字或字母数字的 组合
    2.ctype_alpha(string $text):check for alphabetic character(s) //检查字符串是否是字母
    3.ctype_cntrl(string $text):check for control character(s) //是否是控制字符如\n,\r,\t
    4.ctype_digit(strint $text):check for numeric character(s) //是否是数字表示的字符
    
    5.ctype_graph(string $text):Check for any printable character(s) except space //检查是否有任何可打印字符,除了空格(补)
    6.ctype_lower():check for lowercase character(s)//检查是否是小写字母
    7.ctype_upper():check for uppercase character(s)//检查是否是大写字母
    8.ctype_space: check for whitespace character(s)//是否是空白字符
    9.ctype_xdigit: check for character(s) representing a hexadecimal digit//检查是否是十六进制数字
    复制代码


    ctype_digit()  与 is_numeric()  的区别:

     

    复制代码
    例:
    
    $numeric_string='123';
    $interger = 123;
    ctype_digit($numeric_string);//true
    ctype_digit($interger);//false
    is_numeric($numeric_string); //true
    is_numeric($interger); //true
  • 相关阅读:
    微服务怎么限流?算法+框架+实战!
    Maven 架构选型,单模块还是多模块?
    Java 几行代码提取图片文字,过个厉害了。。
    面试官:SOA 和微服务的区别?这回终于搞清楚了!
    别再纠结线程池大小了,没有固定公式的!终于有人说清楚了。。
    MySQL 8.0 可以操作 JSON 了,牛逼。。。
    C#中判断一个类是否实现了某interface
    所有各数据库或文件的连接串定义CHM文件.
    这两天终于把火箭动力稍微搞清楚了点
    事件查看器中总是出现 sqlserveragent的错误
  • 原文地址:https://www.cnblogs.com/daizhuacai/p/2856601.html
Copyright © 2020-2023  润新知