//列子 $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个字符。