Ctype函数是Php的Ctype扩展函数提供了一组函数用于校验字符串中的字符是否是正确的格式,这篇文章我们主要介绍一下这些字符串验证函数的语法、有什么特殊的函数,如何去验证.
Ctype函数是PHP内置的字符串体测函数,主要有以下几种
ctype_alnum -- Check for alphanumeric character(s):检测是否是只包含[A-Za-z0-9]
ctype_alpha -- Check for alphabetic character(s):检测是否是只包含[A-Za-z]
ctype_cntrl -- Check for control character(s):检查是否是只包含类是“nrt”之类的字 符控制字符
ctype_digit -- Check for numeric character(s):检查时候是只包含数字字符的字符串(0-9)
ctype_graph -- Check for any printable character(s) except space:检查是否是只包含有可以打印出来的字符(除了空格)的字符串
ctype_lower -- Check for lowercase character(s):检查是否所有的字符都是英文字母,并且都是小写的
ctype_print -- Check for printable character(s):检查是否是只包含有可以打印出来的字符的字符串
ctype_punct -- Check for any printable character which is not whitespace or an alphanumeric character:检查是否是只包含非数字/字符/空格的可打印出来的字符
ctype_space -- Check for whitespace character(s):检查是否是只包含类是“ ”之类的字符和空格
ctype_upper -- Check for uppercase character(s):检查是否所有的字符都是英文字母,并且都是大写的
ctype_xdigit -- Check for character(s) representing a hexadecimal digit:检查是否是16进制的字符串,只能包括 “0123456789abcdef”
如何使用他们,直接上代码:
- $str1 = 'Azxc1234';
- $str2 = '123#Axy';
- if (ctype_alnum($string)) {
- echo "This string totally works";
- }
- else {
- echo "And this one not so much";
- }
注意:如果传第一个空字符串,在php5.1之后是返回 false,但是早期的版本是返回true.
只要确保传递给函数的参数是一个字符串就不会有问题,代码如下:
- $integer = 42;
- ctype_digit($integer);
- ctype_digit((string)$integer);
结论:在使用PHP的过程中,同样的操作可能有不同的方法,选择一个合适的方法显然很重要。在PHP里判断字符串类型的函数有两类,ctype_*和 is_* 他们在实际的应用中 is_*这一系列的函数用的更多一些,当然除了这些办法我们还可以选择使用正则表达式来做判断,而且更强大,但是使用PHP内置的函数可以更好地减少出错率.