Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> wyrażenie regularne sprawdzające poprawność miesiaca
zaba285
post 9.07.2009, 12:11:44
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 1.06.2009

Ostrzeżenie: (0%)
-----


witam, zrobiłem sobie małego potworka z wyrażenia regularnego, które ma dopuszczać tylko wartości od 1 do 12 w formularzu (cyfry symbolizujące miesiąc)

var miesiac = /(1|2|3|4|5|6|7|8|9|10|11|12)$/;

niestety nie działa, bo jak wprowadzę np 99 to przechodzi, a chce żeby powiadamiało przez alert:

if (!miesiac.test(FMonth.value)) komunikat = 'pole miesiac musi miec wartosc od 1 do 12';

pomoże ktoś?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
vokiel
post 9.07.2009, 13:33:45
Post #2





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

Ostrzeżenie: (0%)
-----


A może bez kombinowania z wyrażeniami:
  1. <?php
  2. var FMonthVal = parseInt(FMonth.value);
  3. if (FMonthVal<13 && FMonthVal>0){
  4.    // ok
  5. }
  6. ?>


A jeśli już koniecznie na wyrażeniach, to musisz ustawić (0-1){1} dla pierwszego znaku, i (0-9){1} dla drugiego jeśli pierwszy 0 i (1-2){1} jeśli pierwszy równy 1. Więc robi się to już ciut bardziej skomplikowane winksmiley.jpg

Ten post edytował vokiel 9.07.2009, 13:34:28


--------------------
Go to the top of the page
+Quote Post
Fifi209
post 9.07.2009, 16:46:34
Post #3





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Nie wiem po co bawić się z wyrażeniami jak można po prostu instrukcjami warunkowymi sprawdzić...

Kod
/(1|2|3|4|5|6|7|8|9|10|11|12)$/;


Po pierwszym slashu daj ^ i będzie śmigało raczej.

Kod
/^(1|2|3|4|5|6|7|8|9|10|11|12)$/;


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
zaba285
post 10.07.2009, 10:46:25
Post #4





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 1.06.2009

Ostrzeżenie: (0%)
-----


Cytat(fifi209 @ 9.07.2009, 17:46:34 ) *
Nie wiem po co bawić się z wyrażeniami jak można po prostu instrukcjami warunkowymi sprawdzić...

Kod
/(1|2|3|4|5|6|7|8|9|10|11|12)$/;


Po pierwszym slashu daj ^ i będzie śmigało raczej.

Kod
/^(1|2|3|4|5|6|7|8|9|10|11|12)$/;

masz racje, zrobiłem listę, bo to lepsze rozwiązanie:
  1. <?php
  2.            
  3.                echo "<select name='FMonth'>";
  4.                for ($i=1; $i<13; $i++) {
  5.                echo "<option value='$i'>$i</option>";
  6.                }
  7.            ?>

a to pytanie to przez ciekawość, dociekliwość i chęć ogarnięcia wyrażeń regularnych ;]
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 10:19