2014-07-08 4 views
0

나는 특수 문자를 억제하기 위해 필드에 정규식을 적용 수락 :정규식 개선. 점

$(this).val().replace(/[^\w\s]/gi, '') 

그것은 완벽하게는 점 (.)를 억제하는 것이 exept 작품. 정규식에 점을 허용하는 예외 만 추가하는 데 문제가 있습니다.

다른 특수 문자를 삭제하는 동안 점을 허용하려면이 정규식을 어떻게 수정해야합니까?

+0

문자 클래스에'.'를 추가 했습니까? – aioobe

답변

3

는 그냥 character class에 점을 추가

$(this).val().replace(/[^\w\s.]+/g, '') 

또한, 약간의 성능 향상을 위해, 내가 추가 한 + 정량을 정규식은 단일 작업으로 여러 문자를 대체 할 수 있도록하는 대신 각각의 단일 교체의 한 번에 하나씩 대소 문자를 구분하지 않는 수정 자도 제거 할 수 있습니다.

+0

그것은 작동합니다. 나는 여전히 정규식을 이해하는 것으로부터 멀다고 생각한다. – EoiFirst

+0

@EoiFirst : 문제 없으며, 우리는 모두 뭔가 배우고있다. 내가 링크 된 튜토리얼은 정말 좋다. –

+0

나는 할 것이다. 감사. – EoiFirst