duanou2526 2013-12-29 05:34
浏览 55
已采纳

$ _POST中的字符限制

I have this code and would like to restrict the characters to [a-f][A-F][0-9]

$code = mysql_real_escape_string($_POST['dgt']);
$len = strlen($code);
if (!($len == "32" or $len == "40")) {
   print "This is not a valid code.";
} else {
   echo 'success';
}

right now it has a character LENGTH limit and would like to add characters restriction as stated above.

what's the best possible way to achieve this?

  • 写回答

3条回答 默认 最新

  • douxiji8707 2013-12-29 05:36
    关注

    Why don't you make use of a simple regex ?

        if(preg_match('/[^a-f_\-0-9]/i', $code)) //if this regex doesn't work , make use of /[^a-fA-F0-9]/
        {
          if(strlen($code)==32 || strlen($code)==40)
          {
          echo "This is not a valid code.";
          }
        }
        else
        {
        echo 'Success.';
        }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大
  • ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
  • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
  • ¥15 如何在炒股软件中,爬到我想看的日k线
  • ¥15 seatunnel 怎么配置Elasticsearch
  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
  • ¥15 (标签-MATLAB|关键词-多址)
  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端
  • ¥15 基于PLC的三轴机械手程序