JavaScript же Cgi Сканер менен бланктарды Далилдөө кантип Үйрөнүү

Сиз HTML түрүндө иштеп бар болсо, анда көп учурда маанилүү талаалар толтурулган деп сак болушу керек. Мисалы, сиз электрондук почта аркылуу ырастоо катын жибере турган болсо, анда электрондук почта дареги түрү талаада киргизилиши керек жана ал иштеген электрондук почта дареги болууга тийиш.

Сиздин түрлөрүн текшерүү үчүн эки жолу бар:

  1. колдонуу JavaScript
  2. Бир колдонуу CGI скрипт

Берсек Кыймылы үчүн JavaScript колдонуу Pros

Берсек Кыймылы үчүн JavaScript колдонуу Cons

Берсек Кыймылы үчүн CGI колдонуу Pros

Берсек Кыймылы үчүн CGI колдонуу Cons

Менин оюмча, бул туура жол адашуудан көпчүлүгү JavaScript менен кылган текшерүү керек. Ошентип, ал тез жана окурмандар үчүн жеңил болот.

Мен анда Cgi Сканер менен түрүндө маанилүү элементтерин текшерип корунуз.

HTML бланктарды ырастоо үчүн JavaScript кантип колдонсо болот?

Түрү текшерүүдөн түзүү негизги маанисинде, аттары үчүн карап турат түрү элементтер талап кылынат, алар бош болсо, ката билдирүү жасашат.

Көп ката текшерүү программалар бир учурда ар бир талааны бир текшерип, бир учурда бир эле ката көрсөтүү.

Бул тажатма бланкын толтуруп алат, эл ортосуна токтотуп коюшу ыктымал. төмөнкү арибин жана Perl булагын пайдалануу болсо, анда окурман бир бүтүндөй түрүн ырастоо үчүн кандай ката кабарларды бир катар алат кайра барып, алардын чечүү билишет.

бир түрү Колдонуучулар үчүн JavaScript

Сиздин HTML башчысы бөлүгүн, сиз түрү текшерүүдөн эмне үчүн скрипт түзүү керек:

  1. скрипт орнотуу жана JavaScript көтөрө албайт браузерлер үчүн жашыруун болушу керек. <скрипт тили = "JavaScript">
  2. Бул текшерүүнү баштайт милдети чакыруу болуп саналат. Бул тексттин үстүндөгү Өзгөрмөлөрдү үчүн жакшы түрү.
    милдети кылгыч (Берйлген)
    {VAR ката = "";
  3. Эгер түрлөрүнө жайылма элементтер бар болсо, сиз биринчи жолду ээн талаа эле (мисалы, <параметрдин маанисине = ""> тандап алган ) камтышы керек Сиз талаада келет каалаган текстти камтышы мүмкүн, ошондой эле Наркы бош эле көп. Андан кийин, ага каршы текшере келгенде, жөн гана алгачкы параметр (бош бир)-жетпесин билиш үчүн, карап, бул ката кабарды жазууга болсо дагы белгиленет. эгер (theForm.dd.options [0] .selected == чыныгы)
    {
    ката + = "ачылуучу тизмеден тандап Сураныч, \ н.";}
  4. Текст элементтер жарактуулугун женил. Жөн эле балл бош болсо, көрүп текшерүү. Эгер ошондой болсо, анда ката билдирүү калтырган. эгер (theForm.words.value == "")
    {
    ката + = "текст элемент толтуруп коюш \ н.";}
  1. текст чөйрөсүндө маалыматтарды түрүн текшере келсе, сиз бир аз Fancier алуу керек. болсо, анда эмес сандык белгилер бар (өзгөрүлмө "сандарды" аны издеп эмне аныктайт) билиш үчүн текст кутучасына боюнча тексттин бул үзүндүсүндө көрүнөт.

    VAR сан = "0123456789";
    эгер (theForm.number.value == "")
    {
    ката + = "бир катар толтуруп коюш \ н.";
    }
    үчүн (VAR = 0;
    {
    темп = theForm.number.value.substring (мен, мен + 1)
    эгер (digits.indexOf (темп) == -1 && theForm.number.value! = "")
    {
    ката + = "сандык текст сан болушу керек \ н.";
    бузууга;
    }}

JavaScript менен электрондук почта дарегин Далилдөө

  1. тексттин бул бөлүгү бир электрондук почта дарегине ырастоо керектиги көрсөтүлгөн. Бул абдан жөнөкөй жарактуулук, ал гана @ жайда жана бир убакыт периоду бар экенине ынануу үчүн текшерет. Адамдар дагы деле жалган электрондук почта даректерин салып берет, бирок бул бир аз туура эмес жазууларды кыскартууга жардам берет.
    эгер (theForm.email.value == "")
    {
    ката + = "Сен жооп так электрондук почта дарегин камтууга тийиш \ н.";
    }
    эгер ((theForm.email.value.indexOf ( '@', 0) == -1 ||
    theForm.email.value.indexOf ( '.', 0) == -1) && theForm.email.value! = "")
    {
    ката + = "сиздин электрондук почтанын дареги жарактуу экендигин текшерип.";
    }
  1. Бул тексттин эт болуп саналат. Бул эки нерсени кылат: биринчи, ал ката топтому бар экенин текшерет. бар болсо, анда ал бир айгай кабар катары көрсөтөт. Андан кийин бул түрү Information Server үчүн жиберген эмес, ушунчалык жалган кайтаруу баасын берет. Сиздин ката билдирүүлөрдү (отчетту, эгерде жогоруда белгиленген), ар бир сызыктын аягында "\ н" кирет. Бул ташуу кайтып (же, башкача айтканда, "жаңы сапты" "кирип") сызыктын аягында киргизүүгө браузерди айтылат. Андан кийин, бир нече ката билдирүүлөрдү бар болгон болсо, анда алардын баары өзүнчө сапта болот. эч кандай ката билдирүүлөрдү бар болсо, анда ката өзгөрүлмө (биз арибин үстү жагында аны кайдан) бош болот, жана түрү жөнүндө маалымат Cgi Сканер менен амал үчүн жүрүш жөнөтүлөт.
    эгер (ката! = "")
    {
    айгай (ката);
    кайтып (жалган);
    Башка} {
    кайтып (чыныгы);
    }
  2. жазуу жабуу унутпагыла.
    }
    // ->

Андан кийин, арибин чакырып, түрү боюнча материалдар бир onsubmit элементин койду:

<түрдө иш-аракет = "" ыкмасы = "пост" onsubmit = "кайтып Validator (бул);">

Берсек Кыймылы үчүн CGI

Бул Perl жазуусу CGI арканоид JavaScript бир эле нерсени кылат. Бул талап кендери бар-жетпесин билиш үчүн, текшерет жана ал тарабынан, эгерде жок, экрандын бир өзгөрмөнүн ичине ката билдирүү куткарат:

#! / окудум / Жергиликтүү / бин / Perl
$ ката = "";
эгер ({ 'дд'} .ж "" менен $)
{
$ ката + = "
Кутуча тамчы тандап коюш керек.
";
}
эгер ({ "деген сөздөр"} Лачынского "" менен $)
{
$ ката + = "
Текст кутучасына кээ бир сөздөрдү Сураныч кирет.
";
}
# ... бардык тараптан текшерүү улантат
эгер ($ ката)
Басып чыгаруу "Content-түрү: Текст / HTML \ н \ н";
Басып чыгаруу " <башчысы> <бойунча> Error ";
Басып чыгаруу " <орган & GT";
Басып чыгаруу "

An Error болгон";
басып чыгаруу $ ката;
. "барып, ал каталарды ондоого Сураныч," басып чыгаруу;
Басып чыгаруу " ";
Башка} {
# Cgi Сканер менен бара бер ...
}

CGI ката кат жазат кандай айырма бар "\ н" ордуна, аны колдонуп HTML ар бир ката ортосунда бир жаңы сапты үчүн абзац теги.

Ал эми азыр Сиздин түрүндөгү тастыкталды коштук

Бул эки ыкманын, Cgi Сканер жана JavaScript менен, силерге жиберген жерлеринде дагы так, ошондуктан бир HTML түрүндө бекитилген койдук.