识别字符串中所有出现的16位数字 - php

时间:2015-02-28 14:07:30

标签: php

如果我有一个字符串,例如“你好,我的客户编号是x,我需要记录一个错误”,其中x总是一个16位数字。我需要识别字符串中所有出现的16位数字。

最好的方法是什么?

2 个答案:

答案 0 :(得分:0)

if (preg_match('/[\\d]{16}/', $subject)) {

} else {

}

试试这段代码。它应该在字符串中找到16位数字。

答案 1 :(得分:0)

您可以使用[0-9]{16}形式的正则表达式(一个数字,16次)。例如:

$message = "blah blah 1024590293404182 blah";
$numbers = array();
preg_match('/[0-9]{16}/', $message, $numbers);

在此之后,$numbers是一个包含来自$message的所有16位数字的数组。你也可以这样做:

$message = "blah blah 1024590293404182 blah";
$numbers = array();
if (preg_match('/[0-9]{16}/', $message, $numbers)) {
    // There is a 16-digit number in $message, and all numbers are in $numbers
} else {
    // No 16-digit number was found
}

http://php.net/manual/en/function.preg-match.php