当前位置:  开发笔记 > 编程语言 > 正文

如何以这种格式验证字符串:p [1或更多数字]?

如何解决《如何以这种格式验证字符串:p[1或更多数字]?》经验,为你挑选了1个好方法。

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

$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.';

但是有更短更快的方式吗?



1> Rizier123..:

您可以使用简单的正则表达式preg_match()一次性进行验证:

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

正则表达式解释:

^锚点为字符串的开头

p literal p

\ d匹配所有数字(0-9)

+量词:匹配1次或更多次

$ anchor为字符串的结尾

推荐阅读
夏晶阳--艺术
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有