我有一个 PHP 字符串数组。这些字符串应该代表 6 位数字的 PIN 码,例如:
560095
前 3 位数字后有一个空格也被认为是有效的,例如560 095
。
并非所有数组元素都有效。我想过滤掉所有无效的 PIN 码。
最佳答案
是的,您可以为此使用正则表达式。
PHP 有一个名为 preg_grep 的函数您将正则表达式传递给它,它返回一个新数组,其中包含 input 数组中与模式匹配的条目。
$new_array = preg_grep('/^\d{3} ?\d{3}$/',$array);
正则表达式的解释:
^ - Start anchor
\d{3} - 3 digits. Same as [0-9][0-9][0-9]
? - optional space (there is a space before ?)
If you want to allow any number of any whitespace between the groups
you can use \s* instead
\d{3} - 3 digits
$ - End anchor
关于php - 过滤数字 PIN 码字符串数组,格式可能为 "######"或 "### ###",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4428669/