码库记事本

码库记事本

php检查字符串中是否包含7位GSM字符的方法

小诸哥 0

本文实例讲述了php检查字符串中是否包含7位GSM字符的方法。分享给大家供大家参考。具体分析如下:

下面的代码检查一个字符串是否包含任何7位GSM字符。它对短信平台上工作的人非常有用。

  1. <?php
  2. function check_gsm($str)
  3. {
  4.      $arr = array(
  5. "0x00", "0x01", "0x02", "0x03", "0x04",
  6. "0x05","0x06","0x07","0x08","0x09",
  7. "0x0A","0x0B","0x0C","0x0D","0x0E","0x0F","0x10","0x11","0x12","0x13",
  8. "0x14","0x15","0x16","0x17","0x18","0x19","0x1A","0x1B","0x1B0A",
  9. "0x1B14","0x1B28","0x1B29","0x1B2F","0x1B3C","0x1B3D","0x1B3E",
  10. "0x1B40","0x1B65","0x1C","0x1D","0x1E","0x1F","0x20","0x21","0x22",
  11. "0x23","0x24","0x25","0x26","0x27","0x28","0x29","0x2A","0x2B","0x2C",
  12. "0x2D","0x2E","0x2F","0x30","0x31","0x32","0x33","0x34","0x35","0x36",
  13. "0x37","0x38","0x39","0x3A","0x3B","0x3C","0x3D","0x3E","0x3F","0x40",
  14. "0x41","0x42","0x43","0x44","0x45","0x46","0x47","0x48","0x49","0x4A",
  15. "0x4B","0x4C","0x4D","0x4E","0x4F","0x50","0x51","0x52","0x53","0x54",
  16. "0x55","0x56","0x57","0x58","0x59","0x5A","0x5B","0x5C","0x5D","0x5E",
  17. "0x5F","0x60","0x61","0x62","0x63","0x64","0x65","0x66","0x67","0x68",
  18. "0x69","0x6A","0x6B","0x6C","0x6D","0x6E","0x6F","0x70","0x71","0x72",
  19. "0x73","0x74","0x75","0x76","0x77","0x78","0x79","0x7A","0x7B","0x7C",
  20. "0x7D","0x7E","0x7F");
  21.      $strl = strlen($str);
  22.      for ($i = 0;$i < $strl; $i++)
  23.      {
  24.      $char = '0x' . bin2hex(substr($str,$i,1));
  25.      $pos = in_array($char,$arr);
  26.      if ($pos == 1)
  27.      {
  28.          $j++;
  29.      }
  30.      }
  31.      if ($j < $strl)
  32.      {
  33.      return false;
  34.      }
  35.      else
  36.      {
  37.      return true;
  38.      }
  39. }
  40. ?>

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

标签: 字符串 GSM字符