Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: RegExp
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » RegExp

Страниц (1): [1]
 

1. san4es - 26 Октября, 2009 - 09:01:03 - перейти к сообщению
Господа. Вопрос...
есть функция:
CODE (text):
скопировать код в буфер обмена
  1. function checkword(word) {
  2.   var re = new RegExp('^[A-Z0-9]+$');
  3.   if (word.match(re)) {
  4.     return true;
  5.   } else {
  6.     return false;
  7.   }
  8. }

насколько я понимаю она никаким образом не должна пропускать русские символы. но тем не менее подобные случаи проходят. сам пробывал ну никак не получается пропихнуть русские буквы.
2. Ch_chov - 26 Октября, 2009 - 10:06:10 - перейти к сообщению
Какие именно символы пропускает?


CODE (javascript):
скопировать код в буфер обмена
  1. function checkword(word) {
  2.   return !!word.match(new RegExp('^[A-Z0-9]+$'))
  3. }
3. valenok - 26 Октября, 2009 - 20:52:01 - перейти к сообщению
сам пробывал ну никак не получается пропихнуть русские буквы.
А кому-то удавалось ?
4. Champion - 27 Октября, 2009 - 09:50:11 - перейти к сообщению
Может быть какой-то коварный человек пишет русские слова английскими буквами, похожим ни русские? Или ты замечал Ж, ь, ъ?
Кстати, твой скрипт можно подредактировать на клиентской части. Вот он и будет пропускать...
5. Phantik - 27 Октября, 2009 - 10:20:51 - перейти к сообщению
Это не регулярка пропускает русские буквы, а кто-то на клиенте пропускает твою JS проверку.
6. san4es - 28 Октября, 2009 - 07:18:57 - перейти к сообщению
Champion пишет:
Может быть какой-то коварный человек пишет русские слова английскими буквами, похожим ни русские
именно так и предусмотрено системой. клиент забивает буквы из латинского алфавита которые похожи на русские.

valenok пишет:
А кому-то удавалось ?

удавалось, иначе бы панику не поднимал. два или три случая было.

Phantik пишет:
Это не регулярка пропускает русские буквы, а кто-то на клиенте пропускает твою JS проверку.
а как это возможно?

Champion пишет:
Кстати, твой скрипт можно подредактировать на клиентской части.
а каким образом это можно сделать? это врядли этим кто то будет заниматься. в том смысле что клиенту это не нужно, он себе больше проблем создаст чем нам.
7. Phantik - 28 Октября, 2009 - 08:43:28 - перейти к сообщению
Phantik пишет:
Это не регулярка пропускает русские буквы, а кто-то на клиенте пропускает твою JS проверку.
а как это возможно?

В идеале браузер перед отправкой формы проверяет твоим JS скриптом выражение, и если оно не соответствует регулярке, то не отправляет на сервер. А если у пользователя в браузере отключен JS скрипт то кто проверяет? Или пользователь просто сам руками пишет http запрос (в котором заполняет значения полей русскими буквами) и посылает его на сервер без каких-либо проверок.
8. Мелкий - 28 Октября, 2009 - 12:16:00 - перейти к сообщению
san4es пишет:
а каким образом это можно сделать?

Открыть исходник страницы и редактировать сколько влезет.

san4es пишет:
это врядли этим кто то будет заниматься. в том смысле что клиенту это не нужно, он себе больше проблем создаст чем нам.

Ещё как будут, хотя бы от делать нечего. При том, этим заниматься будут не клиенты по большей части.

 

Powered by ExBB FM 1.0 RC1