Autor | Zpráva | ||
---|---|---|---|
koksiksloop Profil |
Zdravím,
jak se dá udělat text v inputu , který musí obsahovat nějaký znak třeba . nebo @...
např. <input type="text" name="email"> například emailová adresa; musí obsahovat @ a .
jak na to? A dále se chci zeptat; jak udělat v inputu nápovědu, která se po kliknutí nebo po napsání písmena smaže? |
||
anonymníí Profil * |
#2 · Zasláno: 1. 1. 2014, 15:14:26
koksiksloop:
regulární výrazy (v PHP a klidně i v JS pro větší pohodlí). Nápověda bude taktéž skrytí pomocí JS. |
||
Coompiik Profil |
#3 · Zasláno: 1. 1. 2014, 15:29:49 · Upravil/a: Coompiik
Já jsem to vyřešil přes <input name="mail1">@<input name="mail2">.<input name="mail3"> a pak ve zpracovávacim kodu(PhP) sem proste napsal
$mail = $_GET['mail1'] . "@" . $_GET['mail2'] . "." . $_GET['mail3']; a dál už jsem používal tag $mail , a to smazání po napsání písmena bych udělal např onkeydown, např,
<input onkeydown="document.getElementById('napoveda').style.display='none';"><span id="napoveda">Napoveda</span> ,
jedinej problém je, že kdyš bude políčko prázdný nápověda se už nezobrazí, prostě kdyš bude aktivní input a stiskneš klávesu nápověda do refreshe zmizí. Jednodušejc ani těžčejc už to splácat neumim. |
||
koksiksloop Profil |
Coompiik:
Díky, ale nevíš jak udělat aby ta napoveda byla jako text v tom inputu? |
||
okolojsoucí Profil |
#5 · Zasláno: 1. 1. 2014, 16:02:04
Coompiik:
Tvůj kód je takový paskvil že být tebou ho urychleně smažu. koksiksloop: Třeba takto to může udělat. - http://kod.djpw.cz/iuab |
||
Coompiik Profil |
#6 · Zasláno: 1. 1. 2014, 16:08:10 · Upravil/a: Coompiik
<input value="Napoveda" onfocus="if (this.value=='Napoveda') {this.value=''}" onblur="if (this.value=='') {this.value='Napoveda'}">
Vsude kde je napsano napovedan apis stejny text, value je to co se zobrazuje před kliknutím, onfocus je to co je po kliknutí, kdyš(if) bude v inputu value="Napoveda" msaze se to(this.value='') a onblur dela ze kdys bude okno prázdný(if this.value=='') napíše se Napoveda(this value='Napoveda'), muzes is to testnout v online testeru na http://c.jecool.net/tester/ a opakuju, Všude kde je nápis Napoveda napiš to stejný okolojsoucí i tak to de :D, já sem začátečník a s JS moc neumim, spíš moc vůbec |
||
okolojsoucí Profil |
#7 · Zasláno: 1. 1. 2014, 16:11:27 · Upravil/a: okolojsoucí
|
||
Coompiik Profil |
okolojsoucí:
Nezblázni se :D, koksiksloop: každopádně kdys smichas jeho kod a moje textovi pole mas to hotovi. Myslim si že vyřešeno. |
||
Fisir Profil |
#9 · Zasláno: 1. 1. 2014, 20:21:41
Reaguji na Coompiika:
„každopádně kdys smichas jeho kod a moje textovi pole mas to hotovi. Myslim si že vyřešeno.“ Česky, prosím. Mimochodem, ten tvůj „tester“ s podporou PHP není příliš bezpečný… omlouvám se :-(. |
||
Coompiik Profil |
#10 · Zasláno: 1. 1. 2014, 20:52:38
Fisir to chápu, asi podporu php přesunu někam na zvláštní server aby nemohl měnit otstatní soubory na ton webu, (byl bych rád Fisir kdybys mě opravil jestli teď říkám blbost) a možná by mohlo stačit kdybych to přesunul o adresář výs, potože mám vzato že php skriptu umí zacházet pouze se soubory v adresáři ve kterém se nacházejí a v adresářích co jsou v adresáři ve kterém je skript.
|
||
okolojsoucí Profil |
#11 · Zasláno: 1. 1. 2014, 20:56:08
Dost se pleteš.
Zkus si na web dat do jedné složky php a do něj tento obsah <?php echo "<pre>"; print_r(glob(*.*)); ?> a pak to zkus změnit za <?php echo "<pre>"; print_r(glob('../'.*.*)); ?> A pak uvidíš že lze pracovat neomezeně s prostorem na webu |
||
Coompiik Profil |
#12 · Zasláno: 1. 1. 2014, 21:12:26
|
||
yFang Profil |
#13 · Zasláno: 1. 1. 2014, 21:45:00
koksiksloop:
Udělal jsem takovou ukázku, doufám, že to je to na co ses ptal: http://kod.djpw.cz/kuab (jak to funguje jsem tam popsal v komentářích) |
||
Chamurappi Profil |
#14 · Zasláno: 1. 1. 2014, 21:56:53
Proč testujete něco víc, než že je v poli opravdu zavináč a tečka?
Reaguji na okolojsoucího: „ /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/ “
Už jsi slyšel o TLD .info nebo .museum ? A o IDN doménách?
Reaguji na yFanga: „ /^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$/ “
Pomlčka je v doméně zakázaná? Podtržítko jsem v doméně druhého řádu ještě neviděl a vyšší řád zakazuješ… „ var defaultValue = "name@example.com"; “
Proč tak komplikovaně, když formulářové prvky mají přímo vlastnost (shodou okolností také nazvanou defaultValue ), ve které je výchozí hodnota?
|
||
yFang Profil |
#15 · Zasláno: 1. 1. 2014, 22:16:02
Chamurappi:
Hm asi máš pravdu, http://kod.djpw.cz/puab takhle to je jednodušší. |
||
okolojsoucí Profil |
#16 · Zasláno: 1. 1. 2014, 22:25:44
Chamurappi:
Jojo slyšel, ale oficiální regulérní výraz mi tam za živého boha nejde (?:(?:\r\n)?[ \t])*(?:(?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t] )+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?: \r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:( ?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\0 31]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\ ](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+ (?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?: (?:\r\n)?[ \t])*))*|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z |(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n) ?[ \t])*)*\<(?:(?:\r\n)?[ \t])*(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\ r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n) ?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t] )*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])* )(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t] )+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*) *:(?:(?:\r\n)?[ \t])*)?(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+ |\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r \n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?: \r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t ]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031 ]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\]( ?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(? :(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(? :\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*)|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(? :(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)? [ \t]))*"(?:(?:\r\n)?[ \t])*)*:(?:(?:\r\n)?[ \t])*(?:(?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]| \\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<> @,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|" (?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t] )*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\ ".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(? :[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[ \]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*|(?:[^()<>@,;:\\".\[\] \000- \031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|( ?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*\<(?:(?:\r\n)?[ \t])*(?:@(?:[^()<>@,; :\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([ ^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\" .\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\ ]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\ [\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\ r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\] |\\.)*\](?:(?:\r\n)?[ \t])*))*)*:(?:(?:\r\n)?[ \t])*)?(?:[^()<>@,;:\\".\[\] \0 00-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\ .|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@, ;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(? :[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])* (?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\". \[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[ ^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\] ]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*)(?:,\s*( ?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\ ".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:( ?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[ \["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t ])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t ])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(? :\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+| \Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*|(?: [^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\ ]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*\<(?:(?:\r\n) ?[ \t])*(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\[" ()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n) ?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<> @,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@, ;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t] )*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\ ".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*)*:(?:(?:\r\n)?[ \t])*)? (?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\". \[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?: \r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\[ "()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t]) *))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t]) +|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\ .(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z |(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*\>(?:( ?:\r\n)?[ \t])*))*)?;\s*) |
||
Chamurappi Profil |
#17 · Zasláno: 2. 1. 2014, 17:41:20
Reaguji na okolojsoucího:
„ale oficiální regulérní výraz mi tam za živého boha nejde“ Proč je důležité do puntíku dodržet RFC? (Mimochodem, současná specifikace e-mailu je v RFC 5322, nezkoumal jsem, zda se formát adresy nějak změnil oproti RFC 822.) Kontrola formátu e-mailové adresy v drtivé většině případů postrádá význam. Kdo chce zadat nesmysl, zadá hravě i syntakticky platný nesmysl, důležité je tedy pozastavit případy, kdy se uživatel dopustí chyby nechtěně, což velmi pravděpodobně nebude chyba typu „zapomněl escapovat uvozovku“ (což je prohřešek proti RFC), ale spíš typu „zapomněl koncovku domény“ nebo „napsal seznam.cx místo seznam.cz “ (ani jedno není prohřešek proti RFC).
|
||
Str4wberry Profil |
#18 · Zasláno: 2. 1. 2014, 18:33:47
Jenom doplním, že pokud má políčko obsahovat určité znaky, je dobré to napsat do chybové hlášky.
Tedy místo hlášky „Email je ve špatném formátu.“ napsat, že je potřeba zadat zavináč apod. |
||
Chamurappi Profil |
#19 · Zasláno: 2. 1. 2014, 18:43:15
Reaguji na Str4wberryho:
Přesně tak. A toto zajímavé téma na článek si zamlouvám já! :-) |
||
Časová prodleva: 10 let
|
0