문제.
이용자의 글을 받아서 저장하다 보면...허용하지 말아야 할 글자들이 입력되는 경우가 있다..
이럴땐 참 난감한데....특히 한자를 체크하는거 더욱이 어렵다...
해결.
특수문자에 대한 제한은 정규식을 이용하면, 쉽게 해결할수 있다. 반면에 한자를 찾아내는 것은 한글자씩 비교해서 한자인지 아닌지를 알아야하는데...인터넷을 뒤지다보니
한중일 공통한자부분은 유니코드로 바꿨을때.. u4E00 - u9FFF 범위에 들어간다고 한다..
그것을 이용해 function을 하나 만들었다...
function fnRestrictChar(str){
var regRestrictChar = /[!?@#$%^&*※☆★○●◎♣▷▶]/;
patten = eval(regRestrictChar);
var regRestrictChar_str = '[제한문자]';
if(!patten.test(str)){
for (var i=0; i<str.length ; i++){
var c=escape(str.charAt(i));
c=c.replace('%','');
// c = str.charCodeAt(i);
alert(c);
if(c >= 'u4E00' && c<= 'u9FFF'){
alert("한자제한!");
break;
}
}
}else{
alert("제한된문자!");
}
}