2012-07-28 10 views
5

Kullanıcıların isimlerini girdiği bir form var ve sadece çöp veya gerçek bir isim olup olmadığını kontrol etmek istiyorum.RegEx (ä ö ü è ß) Ben Node.js. bazı temel dize testler yapmak istiyorum

Mutlu bir şekilde (veya çekmem için ne yazık ki) Kullanıcıların dünyanın her yerinden kullanıcı almasını sağlıyorum. Bu, adlarının ä ö ü ß é gibi ingilizce olmayan karakterler içermesi anlamına gelir. Ben /[A-Za-z -]{2,}/ kullanmak için kullanıldı ama bu "Jan Buschtöns" gibi adlar eşleşmiyor.

manuel çalışmak benim RegEx'in mümkün olan her türlü olmayan ingilizce ama latin karakter eklemek gerekir mi? Ben /[A-Za-z -äöüÄÖÜßéÉèÈêÊ...]{2,}/ gibi bir 100+ karakter uzunluğunda RegEx istemiyorum.

+0

hileci/\ + /' çalışmaz w. Sadece İngilizce karakterlerle eşleşiyorlar. – buschtoens

+2

Ve bir Salish ismi olan birini alırsanız ne olur? [Salish diller] (http://en.wikipedia.org/wiki/Salishan_languages) Örnek "Sḵwxwú7mesh" için, bir harf olarak 7 '' kullanılması; ve daha az belirsiz bir not, Korece hakkında, Japonca, Çince, ... Sen isteyebilirsiniz okumak http://www.kalzumeus.com/2010/06/17/falsehoods-programmers- ([gösteren yalanlar Programcılar Adları Hakkında inanın] inanıyorum-adları-) de. Temelde kontrolünle hiç uğraşmamanı öneriyorum. –

+0

Asya ve kyrillik dilleri düşündüm. Kullanabilecekleri latin eşdeğerleri var. Ve ... Salish çok nadir bir durumdur. : D – buschtoens

cevap

4

Kontrol http://www.regular-expressions.info/unicode.html ve

http://xregexp.com/plugins/ Sen Unicode eklemek istiyorsanız her mektup karakteri eşleştirmek için \p{L} kullanmak gerekir.

konuşan unicode, \w alternatif sonra [\p{L}\p{N}_] olduğunu. `Gibi

+0

Bir ihtiyacın var [ 'eklentisi'] (http://xregexp.com/plugins/) değil bir tarayıcı eklentisi, sadece bir JavaScript lib js –

+0

@MrAnderson, bunu yapmanın. silvinci Node.js kullanıyor ve XRegExp'i modül olarak almak çok kolay. – slevithan

+0

"POSIX karakter sınıfları" için arama yapın. JavaScript onlara destek Regexes ve "bu bir mektup" veya "Bu büyük harf olduğunda" gibi genellikle (en sık kullanılan insan dilleri için en az) çok basit sorulara cevap verebilir. – ebohlman

İlgili konular