本文實例講述了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程序設計有所幫助。