Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel-需要正则表达式来验证用户名,这可以防止表情符号,但允许使用特殊字符_Php_Regex_Laravel - Fatal编程技术网

Php Laravel-需要正则表达式来验证用户名,这可以防止表情符号,但允许使用特殊字符

Php Laravel-需要正则表达式来验证用户名,这可以防止表情符号,但允许使用特殊字符,php,regex,laravel,Php,Regex,Laravel,我想以这样一种方式验证用户名,即它不应该接受像:-),;-)这样的表情符号等但它应该接受带有字母和数字的特殊字符…很难接受的字符 目前我已经申请了 $validator = Validator::make(Input::all(),array('username'=>'required|max:20|min:3'); 提前感谢诸如此类: $validator = Validator::make( Input::all(), array('username'=> ar

我想以这样一种方式验证用户名,即它不应该接受像:-),;-)这样的表情符号等但它应该接受带有字母和数字的特殊字符…很难接受的字符

目前我已经申请了

$validator = Validator::make(Input::all(),array('username'=>'required|max:20|min:3');
提前感谢

诸如此类:

$validator = Validator::make(
    Input::all(),
    array('username'=> array('required',
                             'max:20',
                             'min:3',
                             'Regex:/\A(?!.*[:;]-\))[ -~]+\z/')
    )
);
$validator = Validator::make(
    Input::all(),
    array('username'=> array('required',
                             'Regex:/\A(?!.*[:;]-\))[ -~]{3,20}\z/')
    )
);
注意:您可以这样缩短需求:

$validator = Validator::make(
    Input::all(),
    array('username'=> array('required',
                             'max:20',
                             'min:3',
                             'Regex:/\A(?!.*[:;]-\))[ -~]+\z/')
    )
);
$validator = Validator::make(
    Input::all(),
    array('username'=> array('required',
                             'Regex:/\A(?!.*[:;]-\))[ -~]{3,20}\z/')
    )
);
显然,您需要完成其他您想要禁止的图标

您可以使用
扩展允许的字符,而不是将字符串限制为ascii字符的
[-~]