IT序号网

php之如何验证这种格式的字符串 : p[1 or more numbers]

third_qq_4accc0ab0fa5b582 2024年11月01日 编程语言 17 0

我想验证这些形式的字符串:

$string = 'p123455... 
  • 有效:p1、p22、p54342534535
  • 无效:p、pp45、p543p、4p5232、q34

(第一个字符必须是'p',其他1个或多个数字)

我的尝试:

$valid = true; 
 
if($string[0] != 'p') 
    $valid = false; 
 
$string = substr($string, 1); 
 
if(!is_numeric($string) 
    $valid = flase; 
 
if($valid) 
    echo 'string is valid.'; 

但是有没有更短更快的方法呢?

请您参考如下方法:

您可以将简单的正则表达式与 preg_match() 结合使用一次性完成验证:

if(preg_match("/^p\d+$/", $string)){ 
    //valid 
} else { 
    //not valid 
} 

正则解释:

  • ^ 字符串开头的 anchor
  • p 文字 p
  • \d 匹配所有数字 (0-9)
    • + 量词:匹配1次或多次
  • $ 字符串结尾的 anchor


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!