2010-03-31 13 views
8

Latin Karakterleri ise veya bir alan olup olmadığını kontrol ediyorum. o-ecekLatince olmayan bazı karakterleri kontrol etmek için hangi normal ifadeyi kullanmalıyım?

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");  
} 

Bu iyi çalışıyor, ama ben (şu anda kullanıyorum bu aralıkta) bir boşluk ile birlikte bu tür çince karakterler gibi olmayan herhangi bir latin karakterleri girmek zaman çok bunu değiştirmek istiyoruz hala latin olmayan karakterler olduğunu söyle.

Yapmam gereken normal ifadeyi nasıl değiştirebilirim?

cevap

9
ASCII karakter varlığı için yerine test ASCII olmayan karakterlerin varlığı için

Hemen testi:

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) tüm dizeyi kullanımını kontrol etmek isterseniz Bu iyi bir fikir! Teşekkürler! Bu regex'i php'de kullanmaya çalışırken bu hatayı alıyorum: Derleme başarısız oldu: PCRE, ofset'i desteklemez \ L, \ l, \ N, \ U, veya \ u 2 – zeckdude

+1

PHP'de farklı sözdizimi: Try// \ x {0000} - \ x {007f}]/u ' –

+0

@Tim - Çok teşekkür ederim! – zeckdude

4

Eğer

preg_match('/^[\x{0000}-\x{007F}]*$/u',$s); 
İlgili konular