//列子
$string = ' abc_123@c c!';
//去除字符串所有空格(结果为'abc_123@cc!')
$string = preg_replace('# #','',$string);
//验证字符串是否只包含数字和字母以及下划线
$res = preg_match("/^[a-zA-Z0-9_]+$/",$string);
//如果不符合正则表达式规则,则抛出异常
if (!$res){
//自定义异常类
throw new OperationException([
'errorCode'=>999,
'msg'=>'只能包含数字、字母、下划线'
]);
}
正则表达式规则:
中文 \x{4e00}-\x{9fa5}
字母 A-Za-z
数字 0-9
下划线 _
1、"/^[a-zA-Z0-9_]+$/" 只匹配:字母/数字/下划线
2、'/^[\x{4e00}-\x{9fa5}A-Za-z0-9_]+$/u' 只匹配:中文/字母/数字/下划线
3、'/^[\x{4e00}-\x{9fa5}A-Za-z0-9_]{1,20}$/u' 只匹配:中文/字母/数字/下划线,最少1个字符,最多20个字符。