php中函数一大堆,有一些常用的函数,而且做为检测的使用非常常见。
php字符串体侧函数—ctype系列。
ctype_alnum(字符串)。
做字母和数字字符检测。
<?php
$str = 'abc09';
$strRight1 = '0918' ;
$strRight2 = 'abc' ;
$strWrong = '中古' ;
var_dump(ctype_alnum($str));//bool(true)
var_dump(ctype_alnum($strRight1));//bool(true)
var_dump(ctype_alnum($strRight2));//bool(true)
var_dump(ctype_alnum($strWrong));//bool(false)
?>
ctype_alpha($str),纯字符检测。
<?php
$str = 'abc09';
$strRight1 = '0918' ;
$strRight2 = 'abc' ;
$strWrong = '中古' ;
var_dump(ctype_alpha($str));//bool(false)
var_dump(ctype_alpha($strRight1));//bool(false)
var_dump(ctype_alpha($strRight2));//bool(true)
var_dump(ctype_alpha($strWrong));//bool(false)
?>
ctype_cntrl( str)控制字符检测。控制字符包括空格、缩进、制表符等。空格′‘;\r\n\t等都是控制字符。ctypedigit( str)纯数字检测。
<?php
$str = 'abc09\n';
$strRight1 = '0918' ;
$strRight2 = 'abc' ;
$strWrong = 'avd123' ;
var_dump(ctype_digit ($str));//bool(false)
var_dump(ctype_digit ($strRight1));//bool(true)
var_dump(ctype_digit ($strRight2));//bool(false)
var_dump(ctype_digit ($strWrong));//bool(false)
?>
ctype_lower($str)小写字母检测。
<?php
$str = 'abv';
$strRight1 = 'abcW0' ;
$strRight2 = 'abcW1' ;
$strWrong = 'avdWER' ;
var_dump(ctype_lower ($str));//bool(true)
var_dump(ctype_lower ($strRight1));//bool(false)
var_dump(ctype_lower ($strRight2));//bool(false)
var_dump(ctype_lower ($strWrong));//bool(false)
?>
ctype_upper($str)大写字母检测。
<?php
$str = 'QWEQW';
$strRight1 = 'abcW0' ;
$strRight2 = 'abcW1' ;
$strWrong = 'avdWER' ;
var_dump(ctype_upper ($str));//bool(true)
var_dump(ctype_upper ($strRight1));//bool(false)
var_dump(ctype_upper ($strRight2));//bool(false)
var_dump(ctype_upper ($strWrong));//bool(false)
?>
ctype_space($str)空白字符检测。
<?php
$str = ' ';
$strRight1 = 'abcW0 ' ;
$strRight2 = ' abcW1' ;
$strWrong = ' avdWER ' ;
var_dump(ctype_space ($str));//bool(true)
var_dump(ctype_space ($strRight1));//bool(false)
var_dump(ctype_space ($strRight2));//bool(false)
var_dump(ctype_space ($strWrong));//bool(false)
?>
ctype_punct($str)检测打印的字符是不是不包含空白、数字、字母。
<?php
$str = ' ';
$strRight1 = 'abcW0 ' ;
$strRight2 = ' abcW1' ;
$strWrong = '*#' ;
var_dump(ctype_punct ($str));//bool(false)
var_dump(ctype_punct ($strRight1));//bool(false)
var_dump(ctype_punct ($strRight2));//bool(false)
var_dump(ctype_punct ($strWrong));//bool(true)
?>
ctype_print($str)做可打印字符检测。
<?php
$str = '';
$strRight1 = 'abcW0 ' ;
$strRight2 = ' abcW1' ;
$strWrong = '*#' ;
var_dump(ctype_print ($str));//bool(false)因为没有任何可打印的信息。
var_dump(ctype_print ($strRight1));//bool(true)
var_dump(ctype_print ($strRight2));//bool(true)
var_dump(ctype_print ($strWrong));//bool(true)
?>
ctype_xdigit($str)是否含有16进制字符存在。但是这个函数有些问题。如下:
<?php
$str10 = '12132121231';//10进制
$strRight8 = '08' ;//8进制
$strRight16 = 'ABE123' ;//16进制的数字
$str16 = '0x123' ; //正常的16进制表示
$strWrong2 = '0b0101010' ;//2进制
var_dump(ctype_xdigit ($str10));//bool(false)
var_dump(ctype_xdigit ($strRight8));//bool(false)
var_dump(ctype_xdigit ($strRight16));//bool(false)
var_dump(ctype_xdigit ($str16));//bool(false)
var_dump(ctype_xdigit ($strWrong2));//bool(true)
?>
php内部函数要比自己写的函数的效率要高,而且运行速度要快。能用php内置函数最好。