PHP validate/php 字符验证/php 文字類をチェック

function checkParameter($parameter, $type, $max, $min) {
  $flag = true;
  mb_regex_encoding("SJIS");
    
  if (!(isset($parameter) && $parameter !== "")) {
   return false;
  }
  
  if ($max <>'' || $min <> ''){
   if (strlen($parameter) > $max || strlen($parameter) < $min) {
    $flag = false;
   }
  }
     switch($type) {
            case 1:   //絵文字ではないのみ
    if ($this->emojiCheck($parameter)) {
     $flag = false;
    } 
    break;
      case 2:    //カナとひらがなと漢字とスペースのみ
    $parameter = mb_convert_kana($parameter, "K", "SJIS");
    if (!mb_ereg("^[亜-腕ぁ-んァ-ヶ/ー  ]*$", $parameter)) {
     $flag = false;     
    } 
    break;     
      case 3:  //英数字のみ
    if (!preg_match("/^[a-zA-Z0-9]+$/", $parameter)) {
     $flag = false;     
    }     
       break;
      case 4:  //数字のみ
    if (!preg_match("/^[0-9]+$/", $parameter)) {
     $flag = false;
    }
       break;
      case 5:  //カナのみ
    $parameter = mb_convert_kana($parameter, "K", "SJIS");
    if (!mb_ereg("^[ァ-ヶ/ー]*$", $parameter)) {
     $flag = false;
    }
       break;
      case 6:  //ひらがなのみ
    if (!mb_ereg("^[ぁ-ん]*$", $parameter)) {
     $flag = false;
    } 
    break;     
      case 7:  //英数字と「_」のみ
    if (!preg_match("/^[a-zA-Z0-9_]+$/", $parameter)) {
     $flag = false;     
    }
    break;     
      case 8:  //A-Zのみ
    if (!preg_match("/^[A-Z]+$/", $parameter)) {
     $flag = false;     
    } 
    break;     
      case 9:  //A-Jのみ
    if (!preg_match("/^[A-J]+$/", $parameter)) {
     $flag = false;     
    }
    break;     
      case 10:  //1と2のみ
    if (!preg_match("/^[1-2]+$/", $parameter)) {
     $flag = false;     
    }
    break;     
      case 11:  //1-4のみ
    if (!preg_match("/^[1-4]+$/", $parameter)) {
     $flag = false;     
    }
    break;     
      case 12:  //1-9のみ
    if (!preg_match("/^[1-9]+$/", $parameter)) {
     $flag = false;     
    }
    break;     
      case 13:  //1のみ
    if (!preg_match("/^[1]+$/", $parameter)) {
     $flag = false;     
    }
    break;
      case 14:  //0,1,2のみ
    if (!preg_match("/^[0-2]+$/", $parameter)) {
     $flag = false;     
    }
    break;
      case 15:  //1,2,3のみ
    if (!preg_match("/^[1-3]+$/", $parameter)) {
     $flag = false;     
    }
    break;


   default:
    break;     
        }  

  return $flag;
 } 

 /**
  * 絵文字検出
  *
  * @param string $data 任意の文字列
  * @return boolean  :true → 絵文字あり  false → 絵文字なし
  */
 function emojiCheck($data) {
  if (!isset($data)) {
   return false;
  }
  
  $terminalType = $this->getTerminalType();
  
  $data = str_replace(array("/r/n", '/n', '/r'), array('','',''), $data);
  
  if ($terminalType == "DOCOMO") {
   return $this->iemojiCheck($data);
  } elseif ($terminalType == "AU") {
   return $this->ezEmojiCheck($data);
  } elseif ($terminalType == "VODAFONE") {
   return $this->sbEmojiCheck($data);
  } else {
   return false;
  }
 }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值