XE

XE 닉네임 특수문자 제한하기 및 님네임 글자 수 제한

by 보석 posted Aug 23, 2013
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄


1. common/js/xml_js_filter.js 파일을 수정합니다.

 157번째 줄에

function XmlJsFilterExecuteFilter(filter, value) {
    switch(filter) {
        case "email" :
        case "email_address" :
                var regx = /^[_0-9a-zA-Z-]+(\.[_0-9a-zA-Z-]+)*@[0-9a-zA-Z-]+(\.[0-9a-zA-Z-]+)*$/;
                return regx.test(value);
            break;
        case "userid" :
        case "user_id" :
                var regx = /^[a-zA-Z]+([_0-9a-zA-Z]+)*$/;
                return regx.test(value);
            break;

라고 된 부분이 있습니다. 요 밑에 다음 소스를 추가 합니다.

        case "nickname" :
        case "nick_name" :
                var regx = /^[가-힣0-9a-zA-Z]*$/;
                return regx.test(value);
            break;

 

2. common/lang/ko.lang.php 파일을 수정합니다.

제일 아랫부분에 보면

    // xml filter에서 사용되는 javascript용 alert msg
    $lang->filter->isnull = '%s의 값을 입력해주세요';
    $lang->filter->outofrange = '%s의 글자 길이를 맞추어 주세요.';
    $lang->filter->equalto = '%s의 값이 잘못 되었습니다.';
    $lang->filter->invalid_email = '%s의 형식이 잘못되었습니다. (예: zbxe@zeroboard.com)';
    $lang->filter->invalid_user_id = $lang->filter->invalid_userid = "%s의 형식이 잘못되었습니다.\\n영문,숫자와 _로 만드실 수 있으며 제일 앞은 영문이어야 합니다";

라고 된 부분 밑에 다음을 추가합니다

 $lang->filter->invalid_nick_name = $lang->filter->invalid_nickname = "%s에 특수문자를 사용하실 수 없습니다";

 

3. modules/member/skins/default/filter/signup.xml 파일을 수정합니다.

7번째 줄에

 <node target="nick_name" required="true" minlength="2" maxlength="40" filter="nickname" /> 을 추가해줍니다.


닉네임 글자수 제한하기는 아래와 같이 하면 됩니다.

modules/member/queries/InsertMember.xml 파일과 modules/member/queries/UpdateMember.xml 파일에

 <column name="nick_name" var="nick_name" notnull="notnull" minlength="2" maxlength="15" /> 가 있는 줄 찾아서

여기 mexlength="15" 숫자부분 변경하시면 됩니다. 15는 제가 변경한건데요 원본파일은 몇으로 되어있는지 기억이 - -;;

15로 하면 한글 닉넴은 5글자까지 제한 가능합니다.




Articles

1 2 3 4 5 6