PHP内置字符簇

本文主要是介绍在PHP中内置的通用的字符簇,了解其中的14大内置的字符簇,并通过正则表达式的例子展现其使用方法及类型匹配的功能(转自:云书)。

1、定义


比如在web编程应用的时候,常常需要检查一个字符串是否"合法", 这样的例子,如手机号码必须是由数字组成,Email的格式是否正确,用户输入的密码是否由英文和数字组成等等。如果要实现这样的验证功能,有时候会对每一个字符都进行检查,或者将每个字符和分隔符全部写出组成一个正则表达式,显然不是一个好办法,因为对每个字符进行遍历,不仅耗时耗力,而且效率也比较低下。所以PHP提供了一种比较方便的定义一个字符集合的办法,这种集合,一般就称为字符簇,一般是用方括号[ ]把字符簇括起来。这样我就可以比较方便的进行正则表达式的应用和过滤了

2、常用字符簇对应的含义 


[[:alpha:]] 
    任何字母 

[[:digit:]] 
    任何数字 

[[:alnum:]] 
    任何字母和数字 

[[:space:]] 
    任何空白字符 

[[:upper:]] 
    任何大写字母 

[[:lower:]] 
    任何小写字母 

[[:punct:]] 
    任何标点符号 

[[:xdigit:]] 
    任何16进制的数字,相当于[0-9a-fA-F] 

[[:cntrl:]]
    任何ASCII值小于32的字符

[[:blank:]]
    任何空格和TAB

[[:graph:]]
    任何可打印字符

[[:print:]]
    任何可打印字符和空格

[[:<:]]
    匹配单词的开始

[[:>:]]
    匹配单词的结尾

3、使用案例:

public function testPreg($text) {
    
    $text = preg_replace("/[^[:alpha:]]/u", "", $text); // 过滤 任何字母 
    
    $text = preg_replace("/[^[:digit:]]/u", "", $text); // 过滤 任何数字 
    
    $text = preg_replace("/[^[:alnum:]]/u", "", $text); // 过滤 任何字母和数字 
    
    $text = preg_replace("/[^[:space:]]/u", "", $text); // 过滤 任何空白字符  
    
    $text = preg_replace("/[^[:upper:]]/u", "", $text); // 过滤  任何大写字母
    
    $text = preg_replace("/[^[:lower:]]/u", "", $text); // 过滤  任何小写字母
    
    $text = preg_replace("/[^[:punct:]]/u", "", $text); // 过滤 任何标点符号
    
    $text = preg_replace("/[^[:xdigit:]]/u", "", $text); // 过滤  任何16进制的数字
    
    $text = preg_replace("/[^[:cntrl:]]/u", "", $text); // 过滤   任何ASCII值小于32的字符
    
    $text = preg_replace("/[^[:blank:]]/u", "", $text); // 过滤   任何空格和TAB
    
    $text = preg_replace("/[^[:graph:]]/u", "", $text); // 过滤  任何可打印字符
    
    $text = preg_replace("/[^[:print:]]/u", "", $text); // 过滤  任何可打印字符和空格
    
    return $text; // 返回正则过滤后的文本
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值