php如何判断字符串是中文还是数字

后端开发   发布日期:2023年06月04日   浏览次数:469

这篇文章主要讲解了“php如何判断字符串是中文还是数字”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php如何判断字符串是中文还是数字”吧!

php判断字符串是中文还是数字的方法:1、通过“if (preg_match("/^[\x7f-\xff]+$/", $str)){...}”判断是否是中文;2、通过“function checkStr($str){...}”方法判断字符串类型即可。

php 判断是否是中文/英文/数字示例代码

中文、英文、数字的判断在项目中也会经常用到,下面有个不错的示例,大家可以参考下,或许会有所帮助

代码如下:

  1. $str='asb天水市12';
  2. if (preg_match("/^[\x7f-\xff]+$/", $str)){
  3. echo '全部是汉字';
  4. }else {
  5. echo '不全是汉字';
  6. }
  7. /**
  8. PHP自带的判断是否是中文,
  9. eregi('[^\x00-\x7F]', $str ) //中文
  10. eregi('[0-9]', $str) //数字
  11. eregi('[a-zA-Z]', $str)//英文
  12. */
  13. if (eregi('[^\x00-\x7F]', $str) || eregi('[0-9]', $str) || eregi('[a-zA-Z]', $str)){
  14. echo '你输入的为中英文数字的并合体哦!'.'<br>';
  15. echo "长度:".strlen($str);
  16. }
  17. / **
  18. 下面这两个方法是用来判断是否是英文汉字和数字组成的字符串,
  19. 或者全部是中文组成的字符串 用的变量$str还是本文开头的变量
  20. */
  21. if (preg_match_all("/^([\x81-\xfe][\x40-\xfe])+$/", $str, $match)) {
  22. echo '全部是汉字';
  23. } else {
  24. echo '不全是汉字';
  25. }
  26. if (preg_match("/([\x81-\xfe][\x40-\xfe])/", $str, $match)) {
  27. echo '含有汉字';
  28. } else {
  29. echo '不含有汉字';
  30. }
  31. /**
  32. 此为js方法,判断了一个汉字占两个字节,一个中文或数字占一个,使用编码为UTF-8
  33. */
  34. <script>
  35. var leng = {};
  36. var value = document.forms[0].name.value;
  37. jmz.GetLength = function(str) {
  38. var realLength = 0, len = str.length, charCode = -1;
  39. for (var i = 0; i < len; i++) {
  40. charCode = str.charCodeAt(i);
  41. if (charCode >= 0 && charCode <= 128) realLength += 1;
  42. else realLength +=2;
  43. }
  44. return realLength;
  45. };
  46. alert(leng.GetLength(value))
  47. </script>
  48. function checkStr($str){
  49. $output='';
  50. $a=ereg('['.chr(0xa1).'-'.chr(0xff).']', $str);
  51. $b=ereg('[0-9]', $str);
  52. $c=ereg('[a-zA-Z]', $str);
  53. if($a && $b && $c){ $output='汉字数字英文的混合字符串';}
  54. elseif($a && $b && !$c){ $output='汉字数字的混合字符串';}
  55. elseif($a && !$b && $c){ $output='汉字英文的混合字符串';}
  56. elseif(!$a && $b && $c){ $output='数字英文的混合字符串';}
  57. elseif($a && !$b && !$c){ $output='纯汉字';}
  58. elseif(!$a && $b && !$c){ $output='纯数字';}
  59. elseif(!$a && !$b && $c){ $output='纯英文';}
  60. return $output;
  61. }
  62. echo checkStr('5爱u');

以上就是php如何判断字符串是中文还是数字的详细内容,更多关于php如何判断字符串是中文还是数字的资料请关注九品源码其它相关文章!