2010-03-31 2 views
8

필드가 라틴 문자인지 확인합니다. 그것은 것비 라틴 문자를 검사하기 위해 어떤 정규 표현식을 사용해야합니까?

var foreignCharacters = $("#foreign_characters").val(); 
var rlatins = /[\u0000-\u007f]/; 

if (rlatins.test(foreignCharacters)) { 
    alert("This is Latin Characters"); 
} else { 
    alert("This is non-latin Characters");  
} 

이 잘 작동하지만, 나는 (내가 현재 사용하고 그 범위 내) 공간과 함께, 중국어 문자와 같은 비 라틴 문자를 입력 할 때 나는 그렇게을 변경하려면 여전히 비 라틴 문자라고합니다.

어떻게 정규식을 변경할 수 있습니까?

답변

9
ASCII 문자의 존재를 대신 검사의 비 ASCII 문자의 존재

그냥 시험 :

var foreignCharacters = $("#foreign_characters").val(); 
var rforeign = /[^\u0000-\u007f]/; 

if (rforeign.test(foreignCharacters)) { 
    alert("This is non-Latin Characters"); 
} else { 
    alert("This is Latin Characters");  
} 
+0

(PHP에서) 전체 문자열 사용을 확인하려면 좋은 생각이야! 감사! 컴파일에서 실패했습니다 : PCRE는 \ L, \ l, \ N, \ U, \ u를 오프셋 2에서 지원하지 않습니다 – zeckdude

+1

PHP의 구문이 다릅니다 :'/ [ \ x {0000} - \ x {007f}]/u' –

+0

@Tim - 정말 고마워요! – zeckdude

4

당신이

preg_match('/^[\x{0000}-\x{007F}]*$/u',$s); 
관련 문제