Atribut pattern – HTML / XHTML – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Atribut pattern – HTML / XHTML – Fórum – Programujte.comAtribut pattern – HTML / XHTML – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené — příspěvek s řešením.
Forest0
Stálý člen
6. 6. 2013   #1
-
0
-

Ahoj, mám tento input:

<input type="text" pattern="[0-20]" required />

Pokud zadám číslo větší než devět, tak mi to píše, že hodnota neodpovídá formátu. Kde je chyba? Díky moc   

Nahlásit jako SPAM
IP: 92.62.230.–
z_moravec
~ Redaktor
+3
Posthunter
6. 6. 2013   #2
-
0
-

#1 Forest
Pokud se nepletu, tak do pattern se dává regulární výraz, ne rozsah hodnot. Takže toto omezení tam asi nenacpeš.

Nahlásit jako SPAM
IP: 46.39.170.–
Spát lze čtyři hodiny denně, spát déle je nemístný přepych.
Thomas Alva Edison
Forest0
Stálý člen
6. 6. 2013   #3
-
0
-

Pokud tam dám [0-9]{4} tak to normálně funguje, že uživatel musí zadat minimálně 4 čísla od 0 do 9. Ale pokud chci zadat pouze formát, tak nic ...

Nahlásit jako SPAM
IP: 92.62.230.–
z_moravec
~ Redaktor
+3
Posthunter
6. 6. 2013   #4
-
0
-

#3 Forest
A čeho přesně chceš dosáhnout zápisem [0-20]?

Nahlásit jako SPAM
IP: 46.39.170.–
Spát lze čtyři hodiny denně, spát déle je nemístný přepych.
Thomas Alva Edison
Forest0
Stálý člen
6. 6. 2013   #5
-
0
-

#4 z_moravec
Aby do inputu nemohl zadat písmena. Pouze čísla od 0 do 20.

Nahlásit jako SPAM
IP: 92.62.230.–
z_moravec
~ Redaktor
+3
Posthunter
6. 6. 2013   #6
-
0
-

#5 Forest
<input type="text" pattern="\d*" />

<input type="text" pattern="\d{2}" />

Toto omezí vstup na čísla (buď neomezeně dlouhá nebo dvojciferná). Ale rozsah pomocí pattern imho neohlídáš, na to budeš muset použít např. javascript.

Nahlásit jako SPAM
IP: 46.39.170.–
Spát lze čtyři hodiny denně, spát déle je nemístný přepych.
Thomas Alva Edison
Forest0
Stálý člen
6. 6. 2013   #7
-
0
-

Díky moc :) Tak to bych pak udělal třeba maxlength="20"

Nahlásit jako SPAM
IP: 92.62.230.–
z_moravec
~ Redaktor
+3
Posthunter
6. 6. 2013   #8
-
0
-

#7 Forest
Tím omezíš vstup na 20 míst, ale neovlivníš hodnotu vloženého čísla. Je to ekvivalent:

<input type="text" pattern="\d{20}" />

Nahlásit jako SPAM
IP: 46.39.170.–
Spát lze čtyři hodiny denně, spát déle je nemístný přepych.
Thomas Alva Edison
Forest0
Stálý člen
6. 6. 2013   #9
-
0
-

#8 z_moravec
 

<input type="text" pattern="\d{20}" />

Tohle je tedy co?

Nahlásit jako SPAM
IP: 92.62.230.–
z_moravec
~ Redaktor
+3
Posthunter
6. 6. 2013   #10
-
0
-

20-místné číslo

Nahlásit jako SPAM
IP: 46.39.170.–
Spát lze čtyři hodiny denně, spát déle je nemístný přepych.
Thomas Alva Edison
Forest0
Stálý člen
6. 6. 2013   #11
-
0
-

#10 z_moravec
to pak ale musí zadat minimálně 20 čísel. Já potřebuju 1 - 20

Nahlásit jako SPAM
IP: 92.62.230.–
z_moravec
~ Redaktor
+3
Posthunter
6. 6. 2013   #12
-
0
-

   

<input type="text" pattern="\d{1-20}" />
Nahlásit jako SPAM
IP: 46.39.170.–
Spát lze čtyři hodiny denně, spát déle je nemístný přepych.
Thomas Alva Edison
z_moravec
~ Redaktor
+3
Posthunter
6. 6. 2013   #13
-
0
-

#12 z_moravec
Oprava

<input type="text" pattern="\d{1,20}" />
Nahlásit jako SPAM
IP: 46.39.170.–
Spát lze čtyři hodiny denně, spát déle je nemístný přepych.
Thomas Alva Edison
Forest0
Stálý člen
6. 6. 2013   #14
-
0
-

#14 z_moravec
Teď už je to v pořádku. Jenom nechápu, proč funguje i nula.

Nahlásit jako SPAM
IP: 92.62.230.–
KIIV
~ Moderátor
+43
God of flame
6. 6. 2013   #15
-
+1
-
Zajímavé

#14 Forest
protoze to neni 1-20 jako cislo ale 1-20 cislic...

asi bych to resil jako   [12][0-9]|[1-9]   :DDDDDD  dvojciferny zachyti prvni cast, jednociferny druha

Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Forest0
Stálý člen
6. 6. 2013   #16
-
0
-

#15 KIIV
To je opravdu efektivní :-DDD

Mohl bys to napsat celé i s tím pattern="" ? Nějak jsi mě zlbnul :-D

Nahlásit jako SPAM
IP: 92.62.230.–
KIIV
~ Moderátor
+43
God of flame
6. 6. 2013   #17
-
0
-

#16 Forest
pattern="[12]\d|[1-9]"   (s malou upravou u ty druhy cifry) (a snad to umi | :D)

Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Forest0
Stálý člen
6. 6. 2013   #18
-
0
-

#17 KIIV
A mohl bys mi ten zápis vysvětlit? Budu to potřebovat asi ještě upravit :-D

Nahlásit jako SPAM
IP: 92.62.230.–
Forest0
Stálý člen
6. 6. 2013   #19
-
0
-

Teď totiž můžu zapsat číslo 1 do čísla 29 :-D

Nahlásit jako SPAM
IP: 92.62.230.–
KIIV
~ Moderátor
+43
God of flame
6. 6. 2013   #20
-
+1
-
Zajímavé

#19 Forest
no vidis to sem nak nedomyslel...

toto by mohlo snad uz byt:    [1-9]|1\d|20

| - rozdeluje moznosti...

[] - urcuje jeden znak, kde uvnitr jsou vypsane presne znaky (nebo rozsahy pomoci - "a-z" a pod), ktere muzou na ty pozici byt

\d je zastupny znak pro cislici (zkracenej zapis pro  [0-9])

Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Forest0
Stálý člen
6. 6. 2013   #21
-
0
-

#20 KIIV
Proč nemůžu zadat větší číslo než je 20? :-D

Nahlásit jako SPAM
IP: 92.62.230.–
KIIV
~ Moderátor
+43
God of flame
6. 6. 2013   #22
-
0
-

tak ted nechapu o co se teda snazis...  cisla od 1 do 20 nebo cisla od 0 do 99999999999999999999

nebo se jen ptas proc to tak funguje? Pokud se jen ptas tak cisla 1-9 odchyti prvni cast, 10-19 druha cast, 20 je explicitne ve treti casti

Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Forest0
Stálý člen
6. 6. 2013   #23
-
0
-

#22 KIIV
Mně šlo o to, abych mohl zadat čísla od 1 do 999 .. takže jsem jen upravil to tvé na:

pattern='[1-9]|1\d|999'

díky :)

Nahlásit jako SPAM
IP: 92.62.230.–
Řešení
KIIV
~ Moderátor
+43
God of flame
6. 6. 2013   #24
-
0
-
Vyřešeno Nejlepší odpověď

#23 Forest
to nebude tak snadne...

EDIT:

[1-9]\d{0,1}\d{0,1}

ikdyz mozna to je snadnejsi nez sem myslel

Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Forest0
Stálý člen
6. 6. 2013   #25
-
0
-

#24 KIIV
Jo, takhle už to jde :-)

Nahlásit jako SPAM
IP: 92.62.230.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 3 hosté

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý