JavaScript для замены китайских символов - PullRequest
4 голосов
/ 25 октября 2011

Я строю массив JavaScript в зависимости от ввода пользователя.Массив строится нормально, но если пользователь вводит китайские символы, он вылетает.Я предполагаю, что это, если пользователь вводит китайский "или а, или а". У меня есть программа, заменяющая английские версии этого, но я не знаю, как заменить его китайские версии.

Кто-нибудь может помочь?

Спасибо всем за вклад

Ответы [ 4 ]

3 голосов
/ 26 апреля 2012

С Какой полный диапазон для китайских символов в Unicode? , диапазоны Unicode CJK:

  • 4E00-9FFF (обыкновенный)
  • 3400-4DFF (редко)
  • F900-FAFF (совместимость - Дубликаты, неделимые варианты, корпоративные символы)
  • 20000-2A6DF (редкий, исторический)
  • 2F800-2FA1F (совместимость - дополнение)

Поскольку строки JS поддерживают только UCS-2, максимальное значение которого составляет FFFF, последние два диапазона, вероятно, не представляют большого интереса. Таким образом, если вы строите JS-строку, она должна иметь возможность отфильтровывать китайские символы, используя что-то вроде:

replace(/[\u4e00-\u9fff\u3400-\u4dff\uf900-\ufaff]/g, '')
2 голосов
/ 25 октября 2011

Вам нужно использовать заменитель Unicode. Я думаю, что это поможет вам: http://answers.yahoo.com/question/index?qid=20080528045141AAJ0AIS

1 голос
/ 27 апреля 2012

Опираясь на ответ брофа:Если вы просто хотите найти и заменить знаки препинания на китайском, например «или» или «а».тогда вы захотите использовать символы Юникода в диапазоне FF00-FFEF.Вот PDF из Unicode, показывающий их: http://unicode.org/charts/PDF/UFF00.pdf
Я думаю, вы бы хотели хотя бы заменить их: FF01, FF02, FF07, FF0C, FF0E, FF1F и FF61.Это должны быть основные китайские знаки препинания.Вы можете использовать функцию замены брофы.

1 голос
/ 25 октября 2011

.Net предоставляет JavaScriptSerializer и его метод Serialize, который создает правильно экранированные литералы JavaScript (хотя я лично не использовал его с китайскими иероглифами, но нет причин, по которым он не должен работать).

...