Regex для немецких и китайских символов в Javascript?

Я должен проверить немецкие и китайские символы в данном поле ввода. Как я могу проверить регулярное выражение немецких и китайских символов в javascript? Какое регулярное выражение я могу использовать для этого?

Приведите, пожалуйста, пример.


person Anubhav    schedule 09.12.2011    source источник
comment
Это повторяющийся вопрос с ответом здесь stackoverflow.com/questions/2621275/   -  person Zain Khan    schedule 09.12.2011
comment
@mangobug Ваша ссылка является вопросом .net, и этот ответ не будет работать для JavaScript, потому что регулярное выражение в JavaScript НЕ поддерживает Unicode!   -  person stema    schedule 09.12.2011


Ответы (2)


Существует библиотека из XRegExp и соответствующая Плагины XRegExp Unicode, расширяющие возможности javasript regex. Это добавляет поддержку категорий, скриптов и блоков Unicode.

См. regular-expressions.info/unicode для получения дополнительной информации о категориях Unicode, скриптах, и блоки.

Немецкие специальные символы должны быть в блоке Unicode \p{InLatin-1_Supplement}, для китайского алфавита вам нужно проверить, какой скрипт или блок правильный.

Если вы хотите принять любой символ, являющийся буквой, в любом алфавите, представленном в Unicode, вы можете использовать \p{L}.

См. подключаемые модули XRegExp Unicode для получения примеров того, как его использовать.

person stema    schedule 09.12.2011

В этом сценарии, вероятно, проще указать разрешенные символы и посмотреть, есть ли другие, например:

var myString = "üöäÜÖÄß";
if (!/[a-z0-9]/gi.test(myString))
    alert('Non English-Alpha characters in: ' + myString) 
person Rory McCrossan    schedule 09.12.2011
comment
Мне нужно проверить китайский, немецкий и некоторые другие языки. поэтому не рекомендуется добавлять в эту строку каждый символ. Есть ли другое решение. - person Anubhav; 09.12.2011