특수문자 입력방지 정규식에서 띄어쓰기 기능제외하는 방법문의 드립니다.
본문
정규식입니다.
// 특수문자 입력 방지
function characterCheck(obj){
var regExp = /[ \{\}\[\]\/?.,;:|\)*~`!^\-_+┼<>@\#$%&\'\"\\\(\=]/gi;
// 허용할 특수문자는 여기서 삭제하면 됨
if( regExp.test(obj.value) ){
alert("특수문자는 입력하실수 없습니다.");
obj.value = obj.value.substring( 0 , obj.value.length - 1 ); // 입력한 특수문자 한자리 지움
}
}
여기서 띄어쓰기도 특수문자로 인식이 되는되요
띄어쓰기만 제외하는 방법이 있나요?
고수님들 문의 드립니다.
답변 3
다음과 같은 방법도 있으니 참고해 보세요
function characterCheck(obj) {
var regExp = /[{}[\]\/?.,;:|)*~`!^_+┼<>@#$%&'"\\(=]/g;
if (regExp.test(obj.value)) {
alert("특수문자는 입력하실수 없습니다.");
obj.value = obj.value.replace(/[ \t]+/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, ''); // 입력한 특수문자 및 공백 제거
}
}
이렇게 수정을 해보시겠어요?
function characterCheck(obj) {
var regExp = /[{}[\]\/?.,;:|)*~`!^_+┼<>@#$%&'"\\(=]/g;
// 특수문자 체크
if (regExp.test(obj.value)) {
alert("특수문자는 입력하실 수 없습니다.");
// 특수문자만 제거
obj.value = obj.value.replace(/[{}[\]\/?.,;:|)*~`!^_+┼<>@#$%&'"\\(=]/g, '');
}
}