4

我想根据我拥有的正则表达式生成一个字符串。

这个功能的目的是当有人忘记他们的密码,并填写“电子邮件新密码”的表格时,我会生成一个随机密码,该密码将通过电子邮件发送给他们。这个新密码必须满足我的正则表达式的条件。

这是我的正则表达式:

'/.*^(?=.{6,})(?=.*[A-z])(?=.*[A-Z])(?=.*[0-9])(?=.*\W).*$/'
4

2 回答 2

3

你看过Hoa\Regex图书馆吗?它使用各向同性随机方法基于正则表达式生成字符串。

于 2014-09-30T20:46:49.293 回答
1

试试这个。无需混淆正则表达式:

function random_password( $length = 8 ) {
    $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()_-=+;:,.?";
    $password = substr( str_shuffle( $chars ), 0, $length );
    return $password;
}
于 2014-02-14T00:14:53.067 回答