Автор Тема: Ну ламер я в PERL .... ламер  (Прочитано 4537 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ---===STINGER===---

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 45
  • +0/-0
  • 0
    • Просмотр профиля
    • http://huk.ru
Ну ламер я в PERL .... ламер
« : 26 Октября 2002, 01:08:22 »
Друзья!!! Помогите пожалуйста мне свершить О ЧУДО!:) мне нужно зделать казалось бы элементарную вещь, проверить текстовое поле на содержание спец символов. Короче у меня регистрация в чате, вот и я хочу ОЧЕНЬ хочу понять как зделать так что бы в нике можно было использовать ТОЛЬКО символы а-Я/a-Z ну короче ТОЛЬКО алфавит, а если в поле встречается "." или что то ещё то выкидывало ошибку, сейчас код выглядит так :
 
  $bsnik=~ tr/a-z/A-Z/;$bsnik=~ tr/а-я/А-Я/;[\\COLOR]
  $bsnik=substr($bsnik,0,15);
  $temp1=&GetFileName($bsnik);
  if ($temp1 ne "NOFILE") {
    $error = "Извените но этот ник уже занят!";
    &Registration;
    exit;
  }
и ничё не получается .....((((((
 :( :insane: :abuse: :confused:  буду вам очень признателен если поможете...
Когда не достигают желаемого, делают вид, что желали достигнутого.

Оффлайн YA

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 597
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Ну ламер я в PERL .... ламер
« Ответ #1 : 26 Октября 2002, 08:51:56 »
Цитировать
Ну ламер я в PERL .... ламер
Это не тема для разговора!!! Плакаться иди во флейм, а здесь пиши нормальную тему!

Цитировать
как зделать так что бы в нике можно было использовать ТОЛЬКО символы а-Я/a-Z ну короче ТОЛЬКО алфавит
print "NIK_ERROR" if $bsnik=~/[^а-яА-Яa-zA-Z]/;
Литературный перевод с русского и английского на Perl. Дорого!

Оффлайн ---===STINGER===---

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 45
  • +0/-0
  • 0
    • Просмотр профиля
    • http://huk.ru
Ну ламер я в PERL .... ламер
« Ответ #2 : 26 Октября 2002, 09:54:47 »
print "NIK_ERROR" if $bsnik=~/[^а-яА-Яa-zA-Z]/;

Слушай YA, а можно ка какнить это выразить в виде
if (.......) {
чё-то там
}
???? а то у меня так ничё не выходит из этого:(
Когда не достигают желаемого, делают вид, что желали достигнутого.

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Ну ламер я в PERL .... ламер
« Ответ #3 : 26 Октября 2002, 14:08:33 »
if ($bsnik=~/[^а-яА-Яa-zA-Z]/){
print "Error!";
}else{
print "Done!";
}
The documentations is your friend

Оффлайн YA

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 597
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Ну ламер я в PERL .... ламер
« Ответ #4 : 27 Октября 2002, 22:18:06 »
Цитировать
а то у меня так ничё не выходит из этого
У меня все работает.
Литературный перевод с русского и английского на Perl. Дорого!

Оффлайн ---===STINGER===---

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 45
  • +0/-0
  • 0
    • Просмотр профиля
    • http://huk.ru
Ну ламер я в PERL .... ламер
« Ответ #5 : 28 Октября 2002, 17:00:54 »
NeoNox Ты прости ещё раз, но вот как сюда ещё диапозон цифр приписать? я чё-то вообще тупить начал ... наверно пива пить поменьше нада, но я пробовал и так и эдак а он пятихатку даёт!ГЫ я вот так пробовал:
if ($bsnik=~/[^а-яА-Яa-zA-Z0-9]/){
if ($bsnik=~/[^а-яА-Яa-zA-Z]/[0-9]/){
а как правильно нужно?:)
Когда не достигают желаемого, делают вид, что желали достигнутого.

Оффлайн ---===STINGER===---

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 45
  • +0/-0
  • 0
    • Просмотр профиля
    • http://huk.ru
Ну ламер я в PERL .... ламер
« Ответ #6 : 28 Октября 2002, 17:05:15 »
NeoNox вот сейчас попробовал вот так:
if ($bsnik=~/[^а-яА-Яa-zA-Z][0-9]/){
заработало НО теперь он ваще не проверяет, тоесть ему терь вообще пофих что туда буквы пиши что цифры точки и т.д , подскажи как правильно написать этот вариан нужно!
Когда не достигают желаемого, делают вид, что желали достигнутого.

Оффлайн YA

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 597
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Ну ламер я в PERL .... ламер
« Ответ #7 : 28 Октября 2002, 17:23:33 »
---===STINGER===---, ты бы документацию почитал что-ли...

if ($bsnik=~/[^а-яА-Яa-zA-Z\\d]/){
print "Error!";
}else{
print "Done!";
}
Литературный перевод с русского и английского на Perl. Дорого!

Оффлайн ---===STINGER===---

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 45
  • +0/-0
  • 0
    • Просмотр профиля
    • http://huk.ru
Ну ламер я в PERL .... ламер
« Ответ #8 : 28 Октября 2002, 18:32:04 »
YA Спасибо! слушай, я вот тут в книге посмотрел, но не нашёл \\d я нашёл только /d а почему у тя слэш левый а не правый? в книге сказанно что \\d удаляет найденные НО НЕ заменнённые символы!:) книга у мя Кемел бук ну типа с верблюдом издательство орейли!
Когда не достигают желаемого, делают вид, что желали достигнутого.

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Ну ламер я в PERL .... ламер
« Ответ #9 : 28 Октября 2002, 18:47:19 »
Купи книгу "Регулярные выражения".
В Кэмеле это совсем о другом речь шла...
The documentations is your friend

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28