用于匹配 md5 哈希的正则表达式

2022-08-30 18:11:00

应使用哪种类型的正则表达式来匹配 md5 哈希。

如何验证此类型的字符串00236a2ae558018ed13b5222ef1bd987

我尝试了这样的东西:但它不起作用。('/^[a-z0-9]/')

如何做到这一点?谢谢


答案 1

这是一个将匹配 MD5 哈希的 PCRE:

define('R_MD5_MATCH', '/^[a-f0-9]{32}$/i');

if(preg_match(R_MD5_MATCH, $input_string)) {
    echo "It matches.";
} else {
    echo "It does not match.";
}

答案 2

请尝试ctype_xdigit

<?php

$hash = '00236a2ae558018ed13b5222ef1bd987';

var_dump(strlen($hash) === 32 && ctype_xdigit($hash));

输出bool(true)


推荐