PHP表单。需要检查第一个字母

时间:2013-09-20 05:00:14

标签: php preg-match

在表单中我有一个ID字段,需要检查第一个字母是否为“P”并且长度为5个字符。

我已经研究过preg_match,但我不知道如何让它工作。它似乎能够检查它们的“P”数量和它们的位置,但是我如何检查它是否只传递以“P”开头的条目。

大时间PHP noobie所以不需要任何真棒。我真的不懂PHP。 :(

7 个答案:

答案 0 :(得分:1)

要检查一个字符串是否以P开头并且是5个字符长,使用preg_match,如你所要求的那样,我会写(懒惰)

<?php
  if (preg_match('/^P....$/', $your_ID_variable) === 1) {
    print 'your ID is starting with a P and is 5 characters long.';
  }
?>

但是,正如其他人发布的那样,还有其他方法可以做到,例如:

<?php
   if ((strlen($your_ID_variable) == 5)
   && (strpos($your_ID_variable, 'P') === 0)) {
    print 'your ID is starting with a P and is 5 characters long.';
   }
?>

以下是您可能找到的一些来源:

答案 1 :(得分:0)

您可以简单地使用:

<?php
    $string = 'abcdef';
    $first_character = $string[0];
    if($first_character!="P"){
         //Do something
    }

   //Check length
   if(strlen($string)<6){
       //Do something
   }
?>

通过:http://php.net/manual/en/function.substr.php获取更多信息。

答案 2 :(得分:0)

if (strpos($string, 'P') === 0 && strlen($string) == 5) {
    // do something...
}

答案 3 :(得分:0)

您可以将其简化为两个没有正则表达式的任务:

$starts_with_p = (strpos($id_string, 'P') === 0);
$is_five_chars = (strlen($id_string) == 5);

$valid_id = ($starts_with_p && $is_five_chars);

答案 4 :(得分:0)

您可以使用此正则表达式来检查:

$name = "poiuy";

if(preg_match("%^p.{4}$%i", $name)){
    //do something
}

答案 5 :(得分:0)

让我们说$id是你拥有id的变量 然后你可以获得像$id[0]这样的第一个角色 这比substr

长度可以strlen($id)

答案 6 :(得分:0)

这个怎么样。

$string="Pabcd";
if(preg_match("/^P[A-Za-z]{4}/", $string))
{
echo "string matched";
}
else
{
echo "string not matched";
}
如果我错了,请纠正我。