Сиз HTML түрүндө иштеп бар болсо, анда көп учурда маанилүү талаалар толтурулган деп сак болушу керек. Мисалы, сиз электрондук почта аркылуу ырастоо катын жибере турган болсо, анда электрондук почта дареги түрү талаада киргизилиши керек жана ал иштеген электрондук почта дареги болууга тийиш.
Сиздин түрлөрүн текшерүү үчүн эки жолу бар:
- колдонуу JavaScript
- Бир колдонуу CGI скрипт
Берсек Кыймылы үчүн JavaScript колдонуу Pros
- Эгер Server иштетүү убактысын кандай колдонгон эмес, JavaScript колдонуу. Бардык иштетүү керектөөчүнүн аткарылат.
- Бул көп учурда тез CGI колдонуу караганда иштей көрүнөт.
- түрү барак өзгөргөн жок, демек, ал каталарды чечүү үчүн, окурман үчүн жеңил болот.
Берсек Кыймылы үчүн JavaScript колдонуу Cons
- JavaScript гана иштетилген браузерлерде иштейт. JavaScript өчүрүлгөн болсо, ката текшерүү иш эмес.
Берсек Кыймылы үчүн CGI колдонуу Pros
- жарактуулугун текшерүү үчүн CGI колдонуу түрү берилет, ар бир жолу текшерүү Нускасы болорун кепилдейт.
Берсек Кыймылы үчүн CGI колдонуу Cons
- CGI WEB Server көбүрөөк жүк коюп, Cgi Сканер киргизилген ар бир милдети жүрүш үчүн дагы бир милдети болуп саналат.
- CGI чуркап жай болушу мүмкүн.
- ката бар болсо, кардар түрүндө биринчи бетине кайтуу же бар, же CGI түрү бетине жазууга башка иш-милдетин керек.
Менин оюмча, бул туура жол адашуудан көпчүлүгү JavaScript менен кылган текшерүү керек. Ошентип, ал тез жана окурмандар үчүн жеңил болот.
Мен анда Cgi Сканер менен түрүндө маанилүү элементтерин текшерип корунуз.
HTML бланктарды ырастоо үчүн JavaScript кантип колдонсо болот?
Түрү текшерүүдөн түзүү негизги маанисинде, аттары үчүн карап турат түрү элементтер талап кылынат, алар бош болсо, ката билдирүү жасашат.
Көп ката текшерүү программалар бир учурда ар бир талааны бир текшерип, бир учурда бир эле ката көрсөтүү.
Бул тажатма бланкын толтуруп алат, эл ортосуна токтотуп коюшу ыктымал. төмөнкү арибин жана Perl булагын пайдалануу болсо, анда окурман бир бүтүндөй түрүн ырастоо үчүн кандай ката кабарларды бир катар алат кайра барып, алардын чечүү билишет.
бир түрү Колдонуучулар үчүн JavaScript
Сиздин HTML башчысы бөлүгүн, сиз түрү текшерүүдөн эмне үчүн скрипт түзүү керек:
- скрипт орнотуу жана JavaScript көтөрө албайт браузерлер үчүн жашыруун болушу керек. <скрипт тили = "JavaScript">
- Бул текшерүүнү баштайт милдети чакыруу болуп саналат. Бул тексттин үстүндөгү Өзгөрмөлөрдү үчүн жакшы түрү.
милдети кылгыч (Берйлген)
{VAR ката = ""; - Эгер түрлөрүнө жайылма элементтер бар болсо, сиз биринчи жолду ээн талаа эле (мисалы, <параметрдин маанисине = ""> тандап алган орнотуулар>) камтышы керек Сиз талаада келет каалаган текстти камтышы мүмкүн, ошондой эле Наркы бош эле көп. Андан кийин, ага каршы текшере келгенде, жөн гана алгачкы параметр (бош бир)-жетпесин билиш үчүн, карап, бул ката кабарды жазууга болсо дагы белгиленет. эгер (theForm.dd.options [0] .selected == чыныгы)
{
ката + = "ачылуучу тизмеден тандап Сураныч, \ н.";} - Текст элементтер жарактуулугун женил. Жөн эле балл бош болсо, көрүп текшерүү. Эгер ошондой болсо, анда ката билдирүү калтырган. эгер (theForm.words.value == "")
{
ката + = "текст элемент толтуруп коюш \ н.";}
- текст чөйрөсүндө маалыматтарды түрүн текшере келсе, сиз бир аз Fancier алуу керек. болсо, анда эмес сандык белгилер бар (өзгөрүлмө "сандарды" аны издеп эмне аныктайт) билиш үчүн текст кутучасына боюнча тексттин бул үзүндүсүндө көрүнөт.
VAR сан = "0123456789";
эгер (theForm.number.value == "")
{
ката + = "бир катар толтуруп коюш \ н.";
}
үчүн (VAR = 0;
{
темп = theForm.number.value.substring (мен, мен + 1)
эгер (digits.indexOf (темп) == -1 && theForm.number.value! = "")
{
ката + = "сандык текст сан болушу керек \ н.";
бузууга;
}}
JavaScript менен электрондук почта дарегин Далилдөө
- тексттин бул бөлүгү бир электрондук почта дарегине ырастоо керектиги көрсөтүлгөн. Бул абдан жөнөкөй жарактуулук, ал гана @ жайда жана бир убакыт периоду бар экенине ынануу үчүн текшерет. Адамдар дагы деле жалган электрондук почта даректерин салып берет, бирок бул бир аз туура эмес жазууларды кыскартууга жардам берет.
эгер (theForm.email.value == "")
{
ката + = "Сен жооп так электрондук почта дарегин камтууга тийиш \ н.";
}
эгер ((theForm.email.value.indexOf ( '@', 0) == -1 ||
theForm.email.value.indexOf ( '.', 0) == -1) && theForm.email.value! = "")
{
ката + = "сиздин электрондук почтанын дареги жарактуу экендигин текшерип.";
}
- Бул тексттин эт болуп саналат. Бул эки нерсени кылат: биринчи, ал ката топтому бар экенин текшерет. бар болсо, анда ал бир айгай кабар катары көрсөтөт. Андан кийин бул түрү Information Server үчүн жиберген эмес, ушунчалык жалган кайтаруу баасын берет. Сиздин ката билдирүүлөрдү (отчетту, эгерде жогоруда белгиленген), ар бир сызыктын аягында "\ н" кирет. Бул ташуу кайтып (же, башкача айтканда, "жаңы сапты" "кирип") сызыктын аягында киргизүүгө браузерди айтылат. Андан кийин, бир нече ката билдирүүлөрдү бар болгон болсо, анда алардын баары өзүнчө сапта болот. эч кандай ката билдирүүлөрдү бар болсо, анда ката өзгөрүлмө (биз арибин үстү жагында аны кайдан) бош болот, жана түрү жөнүндө маалымат Cgi Сканер менен амал үчүн жүрүш жөнөтүлөт.
эгер (ката! = "")
{
айгай (ката);
кайтып (жалган);
Башка} {
кайтып (чыныгы);
} - жазуу жабуу унутпагыла.
}
// -> жазуусу>
Андан кийин, арибин чакырып, түрү боюнча материалдар бир onsubmit элементин койду:
<түрдө иш-аракет = "" ыкмасы = "пост" onsubmit = "кайтып Validator (бул);">
Берсек Кыймылы үчүн CGI
Бул Perl жазуусу CGI арканоид JavaScript бир эле нерсени кылат. Бул талап кендери бар-жетпесин билиш үчүн, текшерет жана ал тарабынан, эгерде жок, экрандын бир өзгөрмөнүн ичине ката билдирүү куткарат:
#! / окудум / Жергиликтүү / бин / Perl
$ ката = "";
эгер ({ 'дд'} .ж "" менен $)
{
$ ката + = "
Кутуча тамчы тандап коюш керек.
";
}
эгер ({ "деген сөздөр"} Лачынского "" менен $)
{
$ ката + = "
Текст кутучасына кээ бир сөздөрдү Сураныч кирет.
";
}
# ... бардык тараптан текшерүү улантат
эгер ($ ката)
Басып чыгаруу "Content-түрү: Текст / HTML \ н \ н";
Басып чыгаруу " <башчысы> <бойунча> Error аталышы>";
Басып чыгаруу " башчысы> <орган & GT";
Басып чыгаруу " An Error h2> болгон";
басып чыгаруу $ ката;
. "барып, ал каталарды ондоого Сураныч," басып чыгаруу;
Басып чыгаруу " дене> HTML>";
Башка} {
# Cgi Сканер менен бара бер ...
}
CGI ката кат жазат кандай айырма бар "\ н" ордуна, аны колдонуп HTML ар бир ката ортосунда бир жаңы сапты үчүн абзац теги.
Ал эми азыр Сиздин түрүндөгү тастыкталды коштук
Бул эки ыкманын, Cgi Сканер жана JavaScript менен, силерге жиберген жерлеринде дагы так, ошондуктан бир HTML түрүндө бекитилген койдук.