Heim >Backend-Entwicklung >PHP-Tutorial >求php isbn正则表达式。

求php isbn正则表达式。

WBOY
WBOYOriginal
2016-06-23 14:39:301270Durchsuche

想要的效果是这样的,
当用户输入的位数为13位时,判断1到4位是9787开头,后面8位中包含非数字,最后一位可以是数字或者是字母。
就是当用户输入的isbn号符合我要的规则,则匹配结果为0,不符合我要的规则匹配结果为1
我已近写了几次写不出来

$str = "9777123456789"; 
$pattern_url = "/\b^(!(9787))\w{7}\b$/is"; 
if (preg_match($pattern_url, $str)){    //如果匹配结果为1,则不含有,如果为0.则含有  97871111234567
echo "不含有9787!";  //要的效果,如果匹配到位数是13位,但不是9787打头的字符串,则提示错误
}else{ 
echo "含有9787!"; 


?>


回复讨论(解决方案)

判断1到4位是9787开头, 后面8位中包含非数字,最后一位可以是数字或者是字母
--------------
你这句话是否有问题?中间都是数字吧

#9787\d{8}[a-z0-9]#i
这是合规则匹配,其他都不合

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn