>Schanim jestli existuje nejaka funkce na "regulerni prikaz" v javaskriptu? >A kdyz jo tak nevim jak mam napsat "regulerni prikaz" co se da pouzit >pro kontrolu spravne mapsane adresy pro email /spravne tecky a zavinac/. >Muze mi nekdo kdo umi programovat poradit ? - ja se to ted ucim. >Diky Ruprecht. To je docela zajimava a konstruktivni otazka a Ruprecht se zjevne uci premejslet a hledat elegantni reseni uz ve stadiu prvnich krucku v jungli zdrojaku, compileru a interpretu.. :))) Ty mas asi na mysli REGULARNI VYRAZY, ne? 'Regulerni prikaz' znamena totiz jenom 'spravny nebo pripustny prikaz' obecne. Takze regulArni VYRAZY. :)) JavaScript ma objekt RegExp, prave pro praci s regularnimi vyrazy. Udelas si tedy jeho novou instanci, treba mRE. Object RegExp obsahuje constructor, takze si pri inicializaci muzes hned nadefinovat regularni vyraz: ------- mRE = new RegExp( <reg_string> ); ------- kde <reg_string> je prave ten regularni vyraz neboli maska. Chodi to v IE a NN. Opera (3.51-) to nezna, muzes to ovsem velice snadno osetrit: ------- if (!window.RegExp) {browser to nezna, nejak to obejdeme;} ------- Pak muzes pouzit methodu test objectu mRE v nejake svoji vlastni funkci. Jestlize bude <mail_addr> vyraz obsahujici testovanou mail adresu, tak napriklad: ------- if ( !mRE.test( <mail_addr> )) {adrs je spatne - udelej neco;} ------- Ja sam jsem si sveho casu udelal pro kontrolu mail-address v Perlu masku, ktera je sice trochu divoka, ale zato uz mysli (skoro :) na vsechno. Predpoklada uvnitr casti za zavinacem aspon jednu tecku, tedy serv a top-level domenu. Pokud bys potreboval uznavat i adresu ve tvaru <nekdo@nekde> , pak muzes misto sevkence "{1}" pouzit jeden otaznik "?" a je to. Tady ti ji venuju. ;-))) Treba se bude hodit i nekomu jinemu... "^[^@\.]([\.]?[^@\.]+)*@([^@\.]+[\.]{1}[^@\.]+)+$" BTW: Kdyz 'se to ted ucis', doporucuju ti venovat regularnim vyrazum zvysenou pozornost, i kdyz jejich logika muze lezt trochu hur do palice. :)) Usetri ti to pak ale spoustu prace se stavbu ruznejch krkolomnejch procedur na kontrolu stringu nebo hledani textu. :) Krome toho treba v Perlu bys bez nich asi nemel sanci na preziti... ;-))) V pripade nejakych nejasnosti se klidne ozvi. :)) Bye, Spock.
This archive was generated by hypermail 2.1.2 : 03. 09. 2001, 22:21 CEST