Php preg_match我应该如何使用

Php preg_match我应该如何使用,php,Php,我有一个字符串要检查,如果只有数字和数字,则执行另一个操作,否则退出 $data = 123412347JB91742F; if(preg_match('/[A-Z1-9]/', $data )) { echo $data; } else { exit; } 这很好,但如果我向$data添加任何内容,如$或任何其他内容,它仍会打印值。这个代码有什么问题 编辑: 正则表达式只检查该集合中是否至少有一个字符。请尝试使用以下正则表达式: /^[A-Z1-9]+$/ 锚点^和$标

我有一个字符串要检查,如果只有数字和数字,则执行另一个操作,否则退出

$data = 123412347JB91742F;

 if(preg_match('/[A-Z1-9]/', $data )) {
  echo $data;

} 
else { 
  exit; 
}
这很好,但如果我向
$data
添加任何内容,如
$
或任何其他内容,它仍会打印值。这个代码有什么问题

编辑:
正则表达式只检查该集合中是否至少有一个字符。请尝试使用以下正则表达式:

/^[A-Z1-9]+$/

锚点
^
$
标记字符串的开始和结束。

正则表达式只检查该集合中是否至少有一个字符。请尝试使用以下正则表达式:

/^[A-Z1-9]+$/
锚点
^
$
标记字符串的开始和结束

  • 正则表达式将匹配每个包含数字或“普通”字符的字符串
  • $数据需要在引号中
  • 您的代码应该如下所示:

    preg_match('/^[A-Z1-9]+$/', $data)
    
    preg_match('/^[A-Z0-9]+$/i', $data)
    
    是否要匹配零和小写字符?那么您的正则表达式应该如下所示:

    preg_match('/^[A-Z1-9]+$/', $data)
    
    preg_match('/^[A-Z0-9]+$/i', $data)
    
  • 正则表达式将匹配每个包含数字或“普通”字符的字符串
  • $数据需要在引号中
  • 您的代码应该如下所示:

    preg_match('/^[A-Z1-9]+$/', $data)
    
    preg_match('/^[A-Z0-9]+$/i', $data)
    
    是否要匹配零和小写字符?那么您的正则表达式应该如下所示:

    preg_match('/^[A-Z1-9]+$/', $data)
    
    preg_match('/^[A-Z0-9]+$/i', $data)
    

    顺便问一下,你的意思是阻止数字0的使用吗?顺便问一下,你的意思是阻止数字0的使用吗?