在表单中我有一个ID字段,需要检查第一个字母是否为“P”并且长度为5个字符。
我已经研究过preg_match,但我不知道如何让它工作。它似乎能够检查它们的“P”数量和它们的位置,但是我如何检查它是否只传递以“P”开头的条目。
大时间PHP noobie所以不需要任何真棒。我真的不懂PHP。 :(
答案 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
}
?>
答案 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";
}
如果我错了,请纠正我。