>백엔드 개발 >PHP 튜토리얼 >【正则】怎么写判断提交的用户名中不包含如下特殊字符?求方法

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

WBOY
WBOY원래의
2016-06-13 11:58:231611검색

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

本帖最后由 default7 于 2014-05-25 18:39:45 编辑 对提交的注册用户名 $uname 的需求:
1 要求名称可以由中文 英文混合组成,但是中间不能包含有空格
2 不能包含如下 $arr2 中的特殊字符
3 但是可以包含中文的 左右括号 “(” “)”

<br /><?php<br />function checkReg($uname)<br />{<br />/**<br />//写成简短的<br />$arr2 = array(<br />'~', '!', '@', '#', '$', '%', '^', '&', '*', '_', '+', '|', '-', '=', '\\',<br />'{', '}', '[', ']', ':', ';', '"', '\'', '<', '>', ',', '.', '?', '/', '“', '”',<br />'’', '‘', '【', '】', '~', '!', '¥', '……', '——', '、', '《', '》', '。',<br />PHP_EOL, chr(10), chr(13), "\t", chr(32),<br />);<br />**/<br />    $arr2 = array(<br />        '~',<br />        '!',<br />        '@',<br />        '#',<br />        '$',<br />        '%',<br />        '^',<br />        '&',<br />        '*',<br />        '_',<br />        '+',<br />        '|',<br />        '-',<br />        '=',<br />        '\\',<br />        '{',<br />        '}',<br />        '[',<br />        ']',<br />        ':',<br />        ';',<br />        '"',<br />        '\'',<br />        '<',<br />        '>',<br />        ',',<br />        '.',<br />        '?',<br />        '/',<br />        '“',<br />        '”',<br />        '’',<br />        '‘',<br />        '【',<br />        '】',<br />        '~',<br />        '!',<br />        '¥',<br />        '……',<br />        '——',<br />        '、',<br />        '《',<br />        '》',<br />        '。',<br />        PHP_EOL,<br />        chr(10),<br />        chr(13), //\r\n<br />        "\t",<br />        chr(32),<br />    );<br /><br /><br />    foreach ($arr2 as $k) {<br />        //我之前用 preg_match 结果有乱码,全乱了。后来用strpos  (default7#zbphp.com)<br />        if (strpos($uname, $k) !== false) {<br />            $tips = "注册名中不能含有空格、点、逗号等特殊字符!";<br /><br />            return array(false, $tips);<br />        }<br />    }<br /><br />    return array(true, 'ok');<br />}<br />



------解决方案--------------------
if($s == str_replace($arr2, '', $s)) {<br />  //不包含特殊字符<br />}else{<br /> //包含特殊字符<br />}
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.