2012-11-03 22 views
11

Ben sadece alfabe sağlayan aşağıdaki normal ifade: Bu kullanılarak p {L} yapabilir nasılJavaScript düzenli ifade eşdeğer {L}

 /[a-zA-Z]+/ 

    a = "abcDF" 
    if (a.match(/[a-zA-Z]+/) == a){ 
     //Match 
    }else{ 
     //No Match 
    } 

(evrensel - herhangi denedim ne almanca, ingilizce vb gibi dil ..)

:

a.match(/[p{l}]+/) 
    a.match(/[\p{l}]+/) 
    a.match(/p{l}/) 
    a.match(/\p{l}/) 

ancak tüm harf a null döndürdü = "aB"

+0

soru – user1767962

cevap

12

ECMAScript 2018 ile başlayarak, JavaScript nihayetinde Unicode property escapes desteklemektedir.

Eski sürümlerde, ya ilgili tüm Unicode aralıklarını kendiniz tanımlamanız gerekir. Yoksa Steven Levithan en XRegExp package with Unicode add-ons kullanmak ve Unicode özellik kısayolları kullanabilir: Eğer javascript oluşturmak için Babel kullanmak isteyen varsa

var regex = new XRegExp("^\\p{L}*$") 
var a = "abcäöüéèê" 
if (regex.test(a)) { 
    // Match 
} else { 
    // No Match 
} 
+0

Paketi kullanarak bir sorun yok, ama sadece söylemek, farklı languageslike alman kontrol için paketi kullanmak zorunludur, vb ingilizce .. – user1767962

+0

Biri bana söylendi güncellenen \ w herhangi bir dil için eşleşir, doğru mu? – user1767962

+0

'\ w', yalnızca JavaScript’deki ASCII harfleri/rakamları/altçizgi ile eşleşir. Unicode'u desteklemek istiyorsanız XRegExp'in etrafında kolay bir yol yoktur. –