欢迎访问淘淘IT!QQ:505342486

PHP内置字符簇

时间:2019-04-10 16:51:04    来源:网络    浏览:221
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、使用案例:

<?php
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; // 返回正则过滤后的文本
}
$text = "ajdkl&(&*13241ADdsfsd324";
echo $text . '<br>';
echo testPreg($text);
?>


来源网址:https://blog.csdn.net/shuiquan88/article/details/86584817

有帮助
(0)
0%
没帮助
(0)
0%
标签: 正则表达式  preg_replace  字符簇  

网友评论

网友评论文明上网理性发言
昵称:

全部评论0条)

o(╯□╰)o 暂无评论,我要抢沙发。
栏目列表
点击排行
more