这篇文章主要介绍了php判断输入是否是纯数字,英文,汉字的方法,涉及php中mb_strlen和strlen等函数的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
本文实例讲述了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的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----
";
echo "$x".'
';
echo "$y".'
';
$str = "456我是中国人abc
";
$x = mb_strlen($str,'gb2312');
$y = strlen($str);
echo "------456我是中国人abc----
";
echo "$x".'
'; echo "$y".'
';
$str = "我是中国人我爱祖国";
$x = mb_strlen($str,'gb2312');
$y = strlen($str);
echo "------我是中国人我爱祖国----
"; echo "$x".'
';
echo "$y".'
'; $str = "我";
$x = mb_strlen($str,'gb2312');
$y = strlen($str);
echo "------我----
"; echo "$x".'
';
echo "$y".'
';
$str = "我ab";
$x = mb_strlen($str,'gb2312');
$y = strlen($str);
echo "------我ab----
"; echo "$x".'
'; echo "$y".'
';
?>
希望本文所述对大家的php程序设计有所帮助。