千家信息网

php中如何实现不使用正则进行英文数字等相关字符的规则校验

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章给大家分享的是有关php中如何实现不使用正则进行英文数字等相关字符的规则校验的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。不使用正则进行英文数字等相关字符的规则校验
千家信息网最后更新 2026年11月04日php中如何实现不使用正则进行英文数字等相关字符的规则校验

这篇文章给大家分享的是有关php中如何实现不使用正则进行英文数字等相关字符的规则校验的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

不使用正则进行英文数字等相关字符的规则校验

在一些场景中,比如说注册登录的时候,我们会对用户名做一些限制,比如只能是数字和字母的组合。一般情况下,我们会使用正则表达式来完成这样的功能,不过,PHP其实已经帮我们准备发了几个函数来处理这样的情况。

ctype_ 相关函数

// 数字和字母,不包含浮点数, [A-Za-z0-9]
if(ctype_alnum($input)){
echo $input, '是英文数字的组合字符!', PHP_EOL;
}

// 英文字母, [A-Za-z]
if(ctype_alpha($input)){
echo $input, '是英文字母!', PHP_EOL;
}

// 数字字符,不包含浮点数、负数(无符号正整数)
if(ctype_digit($input)){
echo $input, '是数字字符!', PHP_EOL;
}

上面三个函数分别分就的就是数字+字母、纯字母、纯数字的三种字符类型的判断。没错,关于这种判断我们使用的正是 ctype_ 开头的这些函数。在这其中,唯一需要注意的是 ctype_digit() 进行数字判断时,返回 true 的情况只能是无符号、无小数点的正整数,也就是说负数和小数也是无法通过这个函数的判断的。我们在文章的最后还会看一下 ctype_digit() 和 is_numeric() 有什么区别。

当然,ctype_ 相关的函数不止这三个,还有很多,我们再来看一组。

// 小写字母
if(ctype_lower($input)){
echo $input, '是小写字母字符!', PHP_EOL;
}

// 大写字母
if(ctype_upper($input)){
echo $input, '是大写字母字符!', PHP_EOL;
}

// 所有可打印字符
if(ctype_print($input)){
echo $input, '是可打印字符!', PHP_EOL;
}

// 所有字符都是可见的,除了空格或者格式控制这些不可见的
if(ctype_graph($input)){
echo $input, '是可打印字符,除空白字符!', PHP_EOL;
}

// 不包含空白、字母、数字的可打印字符 英文标点符号类
if(ctype_punct($input)){
echo $input, '是不包含空白、字母、数字的可打印字符!', PHP_EOL;
}

ctype_lower() 和 ctype_upper() 是判断字符串中的内容是否全都为小写或大写。记住,满足条件的情况是字符串中所有的内容都必须为大写或小写,有一个字母不是的话那就无法返回 true 。当然,这两个判断里面也都必须是英文字母,不能有数字、空格之类的内容。

ctype_print() 是判断是否是可打印内容。什么是可打印内容呢?就是 echo 、 print 之类的能够输出并且你能在屏幕上看到的内容。

ctype_graph() 是除了空白字符之外的可打印字符。什么叫空白字符呢?\n、\t这一类的制表符号,还有我们正常的空格都是空白字符。

ctype_punct() 可以简单的理解为就是标点符号,整个字符串都是标点符号组成的,并且不包含空白内容。

// \n \t \r 之类
if(ctype_cntrl($input)){
echo $input, '是格式控制字符!', PHP_EOL;
}

// 空格
if(ctype_space($input)){
echo $input, '是空格字符!', PHP_EOL;
}

// 16进制 AB10BC99
if(ctype_xdigit($input)){
echo $input, '是十六进制字符!', PHP_EOL;
}

貌似制表符不是很受欢迎呀,不用怕,ctype_cntrl() 就是专门判断整个字符是不是由这些制表符组成的。

ctype_space() 从名字就可以看出,是不是由空格组成的字符串。

ctype_xdigit() 是我们最后一个 ctype_ 函数,从名字其实也能够看出来,它是判断是否是16进制字符串的。

ctype_digit() 与 is_numeric() 的区别

这两个函数都是判断参数是否为数字的,但是它们有一个很大的区别就是 ctype_digit() 仅针对字符串。也就是说它是用来判断字符串中的内容是否是数字的,如果直接给它一个普通的数字类型,那么它还是会返回 false 的,它会认为这个数字类型的内容不是一个"字符串"类型的数字。

// ctype_digit 与 is_numeric 的区别
$numeric_string = '42';
$integer = 42;

echo ctype_digit($numeric_string), PHP_EOL; // true
echo ctype_digit($integer), PHP_EOL; // false (ASCII 42 is the * character)

echo is_numeric($numeric_string), PHP_EOL; // true
echo is_numeric($integer), PHP_EOL; // true

感谢各位的阅读!关于"php中如何实现不使用正则进行英文数字等相关字符的规则校验"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

字符 数字 字母 内容 英文 函数 字符串 空白 空格 符号 就是 正则 大写 小写 情况 类型 规则 标点 标点符号 制表 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 河南真二互联网科技有限公司 互联网为科技 科技与互联网发展 安徽鑫晟辉互联网科技 互联网科技上市公司 广州紫鲸互联网科技 海南购全球互联网科技 银川新华互联网科技学校地址 央行互联网金融科技公司 花神(南京)互联网科技有限公司 互联网5g黑科技有哪些 未来五年的互联网科技 互联网行业科技股 威龙国际互联网科技公司 华中科技大学互联网的牛人 科技互联网的核心竞争力 江苏互联网智能科技软件 互联网硬科技公司 珠海东科互联网科技有限公司 河南商务圈互联网科技有限公司 奇酷互联网科技公司 融贸通互联网科技 博兴的互联网电子科技公司 苏州铭阳互联网科技有限公司 洛阳昕诺飞互联网科技有限公司 21世纪互联网科技成就 云鲸互联网络科技有限公司 玉溪新华互联网科技怎么选 绵阳真晨互联网科技有限公司 互联网科技对化妆品行业
0