欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

【正则】怎么写判断提交的用户名中不包含如下特殊字符?求方法

程序员文章站 2024-04-04 14:02:53
...
【正则】如何写判断提交的用户名中不包含如下特殊字符?求方法
本帖最后由 default7 于 2014-05-25 18:39:45 编辑 对提交的注册用户名 $uname 的需求:
1 要求名称可以由中文 英文混合组成,但是中间不能包含有空格
2 不能包含如下 $arr2 中的特殊字符
3 但是可以包含中文的 左右括号 “(” “)”


function checkReg($uname)
{
/**
//写成简短的
$arr2 = array(
'~', '!', '@', '#', '$', '%', '^', '&', '*', '_', '+', '|', '-', '=', '\\',
'{', '}', '[', ']', ':', ';', '"', '\'', '', ',', '.', '?', '/', '“', '”',
'’', '‘', '【', '】', '~', '!', '¥', '……', '——', '、', '《', '》', '。',
PHP_EOL, chr(10), chr(13), "\t", chr(32),
);
**/
$arr2 = array(
'~',
'!',
'@',
'#',
'$',
'%',
'^',
'&',
'*',
'_',
'+',
'|',
'-',
'=',
'\\',
'{',
'}',
'[',
']',
':',
';',
'"',
'\'',
' '>',
',',
'.',
'?',
'/',
'“',
'”',
'’',
'‘',
'【',
'】',
'~',
'!',
'¥',
'……',
'——',
'、',
'《',
'》',
'。',
PHP_EOL,
chr(10),
chr(13), //\r\n
"\t",
chr(32),
);


foreach ($arr2 as $k) {
//我之前用 preg_match 结果有乱码,全乱了。后来用strpos (default7#zbphp.com)
if (strpos($uname, $k) !== false) {
$tips = "注册名中不能含有空格、点、逗号等特殊字符!";

return array(false, $tips);
}
}

return array(true, 'ok');
}



------解决方案--------------------
if($s == str_replace($arr2, '', $s)) {
//不包含特殊字符
}else{
//包含特殊字符
}
【正则】怎么写判断提交的用户名中不包含如下特殊字符?求方法

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频


网友评论

文明上网理性发言,请遵守 新闻评论服务协议

我要评论
  • 【正则】怎么写判断提交的用户名中不包含如下特殊字符?求方法
  • 专题推荐