应该使用什么类型的正则表达式来匹配md5哈希。
如何验证此类型的字符串00236a2ae558018ed13b5222ef1bd987
我尝试过这样的事情:('/^[a-z0-9]/')
但它没有用。
如何实现这一目标?感谢
答案 0 :(得分:35)
这是一个匹配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.";
}
答案 1 :(得分:9)
尝试ctype_xdigit
:
<?php
$hash = '00236a2ae558018ed13b5222ef1bd987';
var_dump(strlen($hash) === 32 && ctype_xdigit($hash));
Output:bool(true)