php判断输入是否是纯数字,英文,汉字的方法

yipeiwu_com5年前PHP代码库

本文实例讲述了php判断输入是否是纯数字,英文,汉字的方法。分享给大家供大家参考。具体分析如下:

这里利用php的mb_strlen和strlen函数就可以轻松得知字符串的构成是全英文、英汉混合、还是纯汉字。简要说明如下:

1、如果strlen返回的字符长度和mb_strlen以当前编码计算的长度一
致,可以判断是纯英文字符串。
2、如果strlen返回的字符长度和mb_strlen以当前编码计算的长度不一致,
且strlen返回值同mb_strlen的返回值求余后得0可以判断为是全汉字的字符串。
3、如果strlen返回的字符长度和mb_strlen以当前编码计算的长度不一致,
且strlen返回值同mb_strlen的返回值求余后不为0,可以判断为是英汉混合的字符串。

php代码如下:

复制代码 代码如下:
<?php
/********
判断输入是否是纯数字,英文,汉字等
利用php的mb_strlen和strlen函数就可以轻松得知字符串的构成
    是全英文、英汉混合、还是纯汉字。简要说明如下(以上示例程序)
    1、如果strlen返回的字符长度和mb_strlen以当前编码计算的长度一
    致,可以判断是纯英文字符串。
    2、如果strlen返回的字符长度和mb_strlen以当前编码计算的长度不一致,
    且strlen返回值同mb_strlen的返回值求余后得0可以判断为是全汉字的字符串。
    3、如果strlen返回的字符长度和mb_strlen以当前编码计算的长度不一致,
    且strlen返回值同mb_strlen的返回值求余后不为0,可以判断为是英汉混合的字符串。
*/
$str = "456abc";
$x = mb_strlen($str,'gb2312');
$y = strlen($str); echo "------456abc----<br>";
echo "$x".'<br />';
echo "$y".'<br />';
$str = "456我是中国人abc<br />";
$x = mb_strlen($str,'gb2312');
$y = strlen($str);
echo "------456我是中国人abc----<br />";
echo "$x".'<br />'; echo "$y".'<br />';
$str = "我是中国人我爱祖国";
$x = mb_strlen($str,'gb2312');
$y = strlen($str);
echo "------我是中国人我爱祖国----<br />"; echo "$x".'<br />';
echo "$y".'<br />'; $str = "我";
$x = mb_strlen($str,'gb2312');
$y = strlen($str);
echo "------我----<br />"; echo "$x".'<br />';
echo "$y".'<br />';
$str = "我ab";
$x = mb_strlen($str,'gb2312');
$y = strlen($str);
echo "------我ab----<br />"; echo "$x".'<br />'; echo "$y".'<br />';
?>

希望本文所述对大家的php程序设计有所帮助。

相关文章

php expects parameter 1 to be resource, array given 错误

如果你使用的是封装好的类 例如 function fetch_array($query, $result_type = MYSQL_ASSOC) { return mysql_fetch...

PHP判断图片格式的七种方法小结

PHP判断图片格式的七种方法小结

使用php判断文件图片的格式 复制代码 代码如下: <?php $imgurl = "//www.jb51.net/images/logo.gif"; //方法1 echo $ex...

WordPress开发中自定义菜单的相关PHP函数使用简介

函数意义 wp_nav_menu () 自定义菜单显示函数 register_nav_menu () 自定义菜单注册函数 – 单数 register_nav_menus () 自定义菜单...

PHP程序漏洞产生的原因分析与防范方法说明

滥用include 1.漏洞原因: Include是编写PHP网站中最常用的函数,并且支持相对路径。有很多PHP脚本直接把某输入变量作为Include的参数,造成任意引用脚本、绝对路...

PHP Ajax中文乱码问题解决方法

是因为XMLHttp在处理返回的responstText的时候把responstBody按UTF-8编码进行解码的,如果服务器端送出的数据流的确是UTF-8编码,那么中文字就会正确显示,...