>  기사  >  백엔드 개발  >  입력이 순수 숫자, 영어, 한자 등인지 확인합니다.

입력이 순수 숫자, 영어, 한자 등인지 확인합니다.

WBOY
WBOY원래의
2016-07-25 09:11:391179검색
利用php的mb_strlen和strlen函数就可以轻松得知字符串的构成 是全英文、英汉混合、还是纯汉字。简要说明如下(以上示例程序) 1、如果strlen返回的字符长度和mb_strlen以当前编码计算的长度一 致,可以判断是纯英文字符串。 2、如果strlen返回的字符长度和mb_strlen以当前编码计算的长度不一致, 且strlen返回值同mb_strlen的返回值求余后得0可以判断为是全汉字的字符串。 3、如果strlen返回的字符长度和mb_strlen以当前编码计算的长度不一致, 且strlen返回值同mb_strlen的返回值求余后不为0,可以判断为是英汉混合的字符串。
  1. /********
  2. 判断输入是否是纯数字,英文,汉字等
  3. 利用php的mb_strlen和strlen函数就可以轻松得知字符串的构成
  4. 是全英文、英汉混合、还是纯汉字。简要说明如下(以上示例程序)
  5. 1、如果strlen返回的字符长度和mb_strlen以当前编码计算的长度一
  6. 致,可以判断是纯英文字符串。
  7. 2、如果strlen返回的字符长度和mb_strlen以当前编码计算的长度不一致,
  8. 且strlen返回值同mb_strlen的返回值求余后得0可以判断为是全汉字的字符串。
  9. 3、如果strlen返回的字符长度和mb_strlen以当前编码计算的长度不一致,
  10. 且strlen返回值同mb_strlen的返回值求余后不为0,可以判断为是英汉混合的字符串。
  11. *
  12. * ****************/
  13. $str = "456abc";
  14. $x = mb_strlen($str,'gb2312');
  15. $y = strlen($str); echo "------456abc----
    ";
  16. echo "$x".'
    ';
  17. echo "$y".'
    ';
  18. $str = "456我是中国人abc
    ";
  19. $x = mb_strlen($str,'gb2312');
  20. $y = strlen($str);
  21. echo "------456我是中国人abc----
    ";
  22. echo "$x".'
    '; echo "$y".'
    ';
  23. $str = "我是中国人我爱祖国";
  24. $x = mb_strlen($str,'gb2312');
  25. $y = strlen($str);
  26. echo "------我是中国人我爱祖国----
    "; echo "$x".'
    ';
  27. echo "$y".'
    '; $str = "我";
  28. $x = mb_strlen($str,'gb2312');
  29. $y = strlen($str);
  30. echo "------我----
    "; echo "$x".'
    ';
  31. echo "$y".'
    ';
  32. $str = "我ab";
  33. $x = mb_strlen($str,'gb2312');
  34. $y = strlen($str);
  35. echo "------我ab----
    "; echo "$x".'
    '; echo "$y".'
    ';
  36. ?>
复制代码


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.