PHP / Javascript确定字符串是否匹配模式/正则表达式

时间:2017-09-29 11:07:13

标签: php regex string match

如何查看字符串是否为:XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX

匹配模式?

字符串示例:8659-CA3B-F2CD-ADFB-AFD4-0B7E-F5E4-DE59

String始终为8个块,包含4个字符和7“ - ”

可以用php和javascript确定它吗?

非常感谢。

1 个答案:

答案 0 :(得分:1)

一种没有正则表达式的方法,而是使用数组函数。

爆炸以制作每个组的数组 使用数组映射来计算字符串长度,并使用array_unique删除重复项。

$str = "8659-CA3B-F2CD-ADFB-AFD4-0B7E-F5E4-DE59";
$arr = explode("-", $str);
$len = array_unique(array_map("strlen", $arr));

If(count($arr) == 8 && count($len) == 1 && $len[0] == 4) {
    Echo "match";
}Else{
    Echo "no match";
}

https://3v4l.org/T7MG7