2014-02-06 5 views
1

/ 문자를 내 범위에 추가하려고합니다. \로 탈출을 시도했지만 아무 소용이 없습니다. 내 목표는 mod_rewrite URL에서 허용되지 않는 모든 문자의 입력 필드를 제거하는 것입니다. 영숫자로만 표기 됨, -, _/. 여기 초보자 정규식 질문

는 AZ, 0-9, AZ, _와 일치하지 않는 모든 문자를 반환 REG-EXP입니다 -

/[^a-z0-9_-]/gi 

내가 시도 :

/[^a-z0-9_-\/]/gi 

그리고 관련 코드 블록을 :

$('#meta_pageurl').bind('input', function() { 
    var c = this.selectionStart, 
    r = /[^a-z0-9_-]/gi, 
    v = $(this).val(); 
    if(r.test(v)) { 
     $(this).val(v.replace(r, '')); 
     c--; 
    } 
    this.setSelectionRange(c, c); 
}); 

답변

1

사용이 정규식 :

r = /[^\w\/-]+/g 
  • \w 효율에 사용
  • +
  • 탈출 할
  • / 요구 탈출 피하기 위해 첫 번째 또는 마지막 위치에 있어야 [A-Za-z0-9_]
  • 하이픈 나타내는
(1 개 이상의 일치하는 수단)
+1

_에서 모든 문자를 의미 _-\/로 간주됩니다

-의는 설명 주셔서 감사합니다! +1은 10 분 안에 받아 들일 수 있습니다. –

+0

당신이 가장 반갑습니다. – anubhava

+0

제 경험상,'mod_rewrite'는 공간을 포함하여 거의 모든 문자를 허용한다고 말할 수 있습니다. – anubhava

1

다음을 사용하십시오 :

/[^a-z0-9_\/-]/gi 

이스케이프 처리하지 않고 문자 클래스를 지정하려면 문자 클래스 끝에 항상 -을 입력하십시오. 그렇지 않으면 -은 문자 범위 구문의 일부로 해석됩니다. a-z

+0

설명 주셔서 감사합니다! +1 –

0

사용 \- 대신 그렇지 않으면 /