php 正则匹配包含字母、数字以及下划线,且至少包含2种
新系统注册功能需对用户名和密码做以下要求:包含字母、数字以及下划线,且至少包含2种;
在网上没有搜到符合要求的代码,于是自己对他人代码做了一点修改,经测试满足要求。代码如下:
if (!preg_match('/^(?![0-9]+$)(?![_]+$)(?![a-zA-Z]+$)[A-Za-z_0-9]{1,}$/',$string)) { return json_encode(['result' => false, 'msg' => '只能包含字母、数字以及下划线,且至少包含2种']); }