Forum Webscript.Ru

Программирование => Perl => Тема начата: ---===STINGER===--- от 26 Октября 2002, 01:08:22

Название: Ну ламер я в PERL .... ламер
Отправлено: ---===STINGER===--- от 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:  буду вам очень признателен если поможете...
Название: Ну ламер я в PERL .... ламер
Отправлено: YA от 26 Октября 2002, 08:51:56
Цитировать
Ну ламер я в PERL .... ламер
Это не тема для разговора!!! Плакаться иди во флейм, а здесь пиши нормальную тему!

Цитировать
как зделать так что бы в нике можно было использовать ТОЛЬКО символы а-Я/a-Z ну короче ТОЛЬКО алфавит
print "NIK_ERROR" if $bsnik=~/[^а-яА-Яa-zA-Z]/;
Название: Ну ламер я в PERL .... ламер
Отправлено: ---===STINGER===--- от 26 Октября 2002, 09:54:47
print "NIK_ERROR" if $bsnik=~/[^а-яА-Яa-zA-Z]/;

Слушай YA, а можно ка какнить это выразить в виде
if (.......) {
чё-то там
}
???? а то у меня так ничё не выходит из этого:(
Название: Ну ламер я в PERL .... ламер
Отправлено: NeoNox от 26 Октября 2002, 14:08:33
if ($bsnik=~/[^а-яА-Яa-zA-Z]/){
print "Error!";
}else{
print "Done!";
}
Название: Ну ламер я в PERL .... ламер
Отправлено: YA от 27 Октября 2002, 22:18:06
Цитировать
а то у меня так ничё не выходит из этого
У меня все работает.
Название: Ну ламер я в PERL .... ламер
Отправлено: ---===STINGER===--- от 28 Октября 2002, 17:00:54
NeoNox Ты прости ещё раз, но вот как сюда ещё диапозон цифр приписать? я чё-то вообще тупить начал ... наверно пива пить поменьше нада, но я пробовал и так и эдак а он пятихатку даёт!ГЫ я вот так пробовал:
if ($bsnik=~/[^а-яА-Яa-zA-Z0-9]/){
if ($bsnik=~/[^а-яА-Яa-zA-Z]/[0-9]/){
а как правильно нужно?:)
Название: Ну ламер я в PERL .... ламер
Отправлено: ---===STINGER===--- от 28 Октября 2002, 17:05:15
NeoNox вот сейчас попробовал вот так:
if ($bsnik=~/[^а-яА-Яa-zA-Z][0-9]/){
заработало НО теперь он ваще не проверяет, тоесть ему терь вообще пофих что туда буквы пиши что цифры точки и т.д , подскажи как правильно написать этот вариан нужно!
Название: Ну ламер я в PERL .... ламер
Отправлено: YA от 28 Октября 2002, 17:23:33
---===STINGER===---, ты бы документацию почитал что-ли...

if ($bsnik=~/[^а-яА-Яa-zA-Z\\d]/){
print "Error!";
}else{
print "Done!";
}
Название: Ну ламер я в PERL .... ламер
Отправлено: ---===STINGER===--- от 28 Октября 2002, 18:32:04
YA Спасибо! слушай, я вот тут в книге посмотрел, но не нашёл \\d я нашёл только /d а почему у тя слэш левый а не правый? в книге сказанно что \\d удаляет найденные НО НЕ заменнённые символы!:) книга у мя Кемел бук ну типа с верблюдом издательство орейли!
Название: Ну ламер я в PERL .... ламер
Отправлено: NeoNox от 28 Октября 2002, 18:47:19
Купи книгу "Регулярные выражения".
В Кэмеле это совсем о другом речь шла...