특수문자 입력방지 정규식에서 띄어쓰기 기능제외하는 방법문의 드립니다. 채택완료

 

정규식입니다.

// 특수문자 입력 방지
function characterCheck(obj){
var regExp = /[ \{\}\[\]\/?.,;:|\)*~`!^\-_+┼<>@\#$%&\'\"\\\(\=]/gi; 
// 허용할 특수문자는 여기서 삭제하면 됨
if( regExp.test(obj.value) ){
    alert("특수문자는 입력하실수 없습니다.");
    obj.value = obj.value.substring( 0 , obj.value.length - 1 ); // 입력한 특수문자 한자리 지움
    }
}

 

여기서 띄어쓰기도 특수문자로 인식이 되는되요

띄어쓰기만 제외하는 방법이 있나요?

고수님들 문의 드립니다.

 

 

답변 3개

채택된 답변
+20 포인트

다음과 같은 방법도 있으니 참고해 보세요

Copy
function characterCheck(obj) {
    var regExp = /[{}[\]\/?.,;:|)*~`!^_+┼<>@#$%&'"\\(=]/g;
    if (regExp.test(obj.value)) {
        alert("특수문자는 입력하실수 없습니다.");
        obj.value = obj.value.replace(/[ \t]+/g, ''); // 공백 및 탭 제거
    }
}

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

이렇게 수정을 해보시겠어요?

 

function characterCheck(obj) {
    var regExp = /[{}[\]\/?.,;:|)*~`!^_+┼<>@#$%&'"\\(=]/g;

    // 특수문자 체크
    if (regExp.test(obj.value)) {
        alert("특수문자는 입력하실 수 없습니다.");
        
        // 특수문자만 제거
        obj.value = obj.value.replace(/[{}[\]\/?.,;:|)*~`!^_+┼<>@#$%&'"\\(=]/g, '');
    }
}

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

아래의 코드를 참고해 보시겠어요~

 

function characterCheck(obj) {
    var regExp = /[{}[\]\/?.,;:|)*~`!^_+┼<>@#$%&'"\\(=]/gi;
    // \s를 제외한 특수문자 체크
    if (regExp.test(obj.value)) {
        alert("특수문자는 입력하실수 없습니다.");
        obj.value = obj.value.replace(/[ \t\n\r\f\v]/g, ''); // 입력한 특수문자 및 공백 제거
    }
}
 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

답변감사합니다.
위 내용을 했는되요 input 에 스페이스를 넣으니 그대로 오류 체크 되네요ㅠㅠ

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고