检查字符串是否包含数字和字母
2022-08-30 12:20:34
我想检测字符串是否同时包含数字和字母。
例如:
- 给定 ,它将被写入文本文件,因为它包含两者。
PncC1KECj4pPVW
- 给定 ,它不会,因为它只包含字母。
qdEQ
有没有办法做到这一点?
我试图使用
$string = PREG_REPLACE("/[^0-9a-zA-Z]/i", '', $buffer);
但它没有奏效。
任何帮助将不胜感激。
我想检测字符串是否同时包含数字和字母。
例如:
PncC1KECj4pPVW
qdEQ
有没有办法做到这一点?
我试图使用
$string = PREG_REPLACE("/[^0-9a-zA-Z]/i", '', $buffer);
但它没有奏效。
任何帮助将不胜感激。
似乎最简单的方法就是在两个正则表达式中执行此操作。
if (preg_match('/[A-Za-z]/', $myString) && preg_match('/[0-9]/', $myString))
{
echo 'Contains at least one letter and one number';
}
我想另一种方法是在下面。它说“一个字母,然后在某个时候是一个数字(反之亦然)”。但上面的那个更容易阅读IMO。
if (preg_match('/[A-Za-z].*[0-9]|[0-9].*[A-Za-z]/', $myString))
{
echo 'Contains at least one letter and one number';
}
if (preg_match('/[A-Za-z].*[0-9]|[0-9].*[A-Za-z]/', $myString))
{
echo 'Secure enough';
}
答案已根据 https://stackoverflow.com/a/9336130/315550 更新,thnx到 https://stackoverflow.com/users/116286/jb