проверка регулярных выражений с использованием JavaScript - французские алфавиты не работают в IE6 - PullRequest
1 голос
/ 07 декабря 2011

У нас есть HTML-форма, которая позволяет использовать французский алфавит. Поэтому мы добавили проверку, чтобы проверять только буквы, а не цифры. Мы использовали регулярное выражение для достижения этой цели, используя проверка JavaScript. Я вставил приведенный ниже код регулярного выражения для справки.

Я использовал следующие опции для проверки алфавитов, которые включают французские алфавиты

[^A-Za-zA-ÿ\\s]

[^A-ÿ\\s]

Отлично работает во всех современных браузерах. Но в ie6 это не работает.

В IE6 я получил сообщение об ошибке ниже: «Неверный диапазон в наборе символов»

Есть ли какое-либо иное решение для устранения вышеуказанной проблемы. Также, пожалуйста, дайте мне знать, если вам нужны какие-либо другие детали.

Ответы [ 3 ]

1 голос
/ 07 декабря 2011

«Французский алфавит» включает не все символы от A до ÿ, а только:

dec  char
128  Ç
129  ü
130  é
131  â
133  à
135  ç
136  ê
137  ë
138  è
140  î
144  É
145  æ
146  Æ
147  ô
150  û
151  ù

Эти 3 отсутствуют в таблице ascii:

œ
Œ
È
1 голос
/ 12 декабря 2011

Определение версии браузера и запись регулярного выражения (для пользователя можно вводить только символы, а не цифры) в обратном порядке, например [0-9] для ie6.

if ($.browser.msie && $.browser.version.substr(0,1)<7) {
      regex here
}
0 голосов
/ 07 декабря 2011

Не думайте, что хотите от A до ÿ, так как в этом диапазоне много символов, например, «÷». В противном случае, я надеюсь, что IE6 поддерживает обозначение символов Юникода, например, так: "ÿ" = \ u00FF.

Редактировать: (Ой, подождите, вы исключаете [A-ÿ]? Я в замешательстве.)

...