채택완료

자바스크립트로 특수문자 입력 제한에 대해 질문드립니다

현재 그누보드를 기반으로 사이트를 제작하고 있습니다.

 

입력 폼(type=text)에 특수문자(모든 특수문자가 아닌, 일부 특수문자는 허용했습니다)를 입력했을 때,

허용불가한 특수문자에 대해 경고창을 띄우는 자바스크립트 구문을 만들었는데요~

 

잘 걸러주기는 하는데 문제는, 숫자를 입력해도 경고창이 뜹니다;;

어디에 문제가 있는 것인지 모르겠습니다.

자바스크립트 잘 아시는 분들의 도움을 요청드립니다.

감사합니다.

 

아래는 자바스크립트 코드 전문 입니다.

Copy
<script>$(document).ready(function() {  $(".market_name input[name='gmarket']").keyup(function() {    var value = $(this).val();    var arr_char = "\"'\[]!@#$^&*=\\,<>?!',./:;?^`| ̄‥…¨〃–―∥\´ˇ˘˝˙¸˛¡¿ː()[]{}〔〕〈〉《》「」『』【】+-<=>±×÷≠≤≥∞∴♂♀∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬∈∋⊆⊇⊂⊃∪∩∧∨¬⇒⇔∀∃∮∑∏$%₩′″Å¢£¥¤℉‰€㎕㎗㎘㏄㎣㎤㎦㎙㎚㎛㎞㎢㏊㎍㎎㎏㏏㎈㎉㏈㎧㎨㎰㎱㎲㎳㎴㎵㎶㎷㎸㎹㎀㎁㎂㎃㎄㎺㎻㎼㎽㎾㎿㎐㎑㎒㎓㎔Ω㏀㏁㎊㎋㎌㏖㏅㎭㎮㎯㏛㎩㎪㎫㎬㏝㏐㏓㏃㏉㏜㏆#&*@§※☆★○●◎◇◆□■△▲▽▼→←↑↓↔〓◁◀▷▶♤♠♡♥♧♣⊙◈▣◐◑▒▤▥▨▧▦▩♨☏☎☜☞¶†‡↕↗↙↖↘♭♩♪♬㉿㈜№㏇™㏂㏘℡ªº─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂┒┑┚┙┖┕┎┍┞┟┡┢┦┧┩┪┭┮┱┲┵┶┹┺┽┾╀╁╃╄╅╆╇╈╉╊㉠㉡㉢㉣㉤㉥㉦㉧㉨㉩㉪㉫㉬㉭㉮㉯㉰㉱㉲㉳㉴㉵㉶㉷㉸㉹㉺㉻㈀㈁㈂㈃㈄㈅㈆㈇㈈㈉㈊㈋㈌㈍㈎㈏㈐㈑㈒㈓㈔㈕㈖㈗㈘㈙㈚㈛ⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩ①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⒜⒝⒞⒟⒠⒡⒢⒣⒤⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂0123456789ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ½⅓⅔¼¾⅛⅜⅝⅞¹²³⁴ⁿ₁₂₃₄ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρστυφχψωÆÐĦIJĿŁØŒÞŦŊæđðħıijĸŀłøœßŧŋʼnАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя";     for (var i=0; i<arr_char.length; i++) {      if (value.indexOf(arr_char[i]) != -1) {        alert ("특수문자는 입력하실 수 없습니다.");        value = value.substr(0, value.indexOf(arr_char[i]));         $(this).val(value);      }    }  });});</script>

 

답변 2개 / 댓글 2개

채택된 답변
+20 포인트
⒁⒂0123456789ⅰⅱⅲⅳ
여기에서 숫자 빼면 안 되려나요?

답변에 대한 댓글 1개

아.. 저거 빼니까 되네요.. 이럴수가..

근데 저게 ㅈ+한자키 눌렀을 때 나오는 숫자들인데 옮겨넣는 과정에서 그냥 일반숫자처럼 된 모양입니다..;;;;;;
답변 감사드립니다ㅠㅠ

ㅎㅎㅎㅎ 숫자 왜 넣었어요.. 

답변에 대한 댓글 1개

ㅎㅎㅎㅎㅎㅎ ㅈ+한자키 누르면 나오는 2바이트형 숫자들인데 그걸 그냥 복붙하면서 일반 숫자처럼 취급됐는 모양입니다.. 허허허허허허허허허

쌩초가 하루종일 코드랑 씨름하다보니 이런 사소한 실수가 생기네요 허허허허허허
조언 감사합니다 (꾸벅)

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