2010-05-05 4 views
0

사용자가 아무 것도 입력 할 수없는 양식의 자유 텍스트 필드가 있습니다. 일부 사용자는 내 DB에 들어가기를 원하지 않는 이상한 문자가있는 Word 문서에서이 필드에 텍스트를 붙여 넣습니다. (예 : 폰트 문자 지정) 저는 영숫자와 구두점 문자 만 제공하는 정규 표현식을 얻으려고합니다. 그러나 다음을 시도해도 출력은 여전히 ​​모든 문자입니다. 어떻게 그들을 버릴 수 있습니까? 만 아스키를 원하는 경우Regex : 글꼴 문자를 줄 바꿈하는 방법?

<html><body><script type="text/javascript">var str="";document.write(str.replace(/[^a-zA-Z 0-9 [:punct]]+/g, " "));</script></body></html> 

답변

1

, 정규식으로 /[^ -~]+/를 사용합니다. 문제는 [:punct:] 문입니다. 아마도 자바 스크립트는 [:punct:]을 지원하지 않습니까?

+0

아마도 문제는'[: punct :]'보다는'[: punct]'로 쓰여졌을 것입니다. – Senseful

+0

'[: punct :]'는 POSIX 문자 클래스의 예제이며, JavaScript는 지원하지 않습니다. –

+0

@eagle 맞춤법이 올바른지 테스트했습니다. 그리고 @ 앨런 무어가 말했듯이 나는 옳았다. – ZyX

관련 문제