Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Jak sprawdzić czy pole zawiera 3 lub więcej znaków alfanumerycznych?
Forum PHP.pl > Forum > PHP
akurczyk
Jak w temacie jak sprawdzić czy pole zawiera 3 lub więcej znaków alfanumerycznych?
Proszę o pomoc!!!
GrayHat
int strlen(string $string)
akurczyk
ale jak podaj kod
GrayHat
  1. <?php
  2. $str = "slowka";
  3.  
  4. if (strlen($str) > 3) {
  5. echo "Wieksze";
  6. } else {
  7. echo "Mniejsze";
  8. }
  9. ?>
akurczyk
dzięki a jak sprawdzić czy są to znaki alfanumeryczne a-z,1-9
Shili
Chyba raczej nie strlen. Znak . czy ~ to nie są znaki alfanumeryczne przecież!

Kod
([a-zA-Z0-9](.*)){3}
- coś w stylu takiego wyrażenia regularnego. Nie wiem czy działa, w razie czego trzeba będzie poprawić ^^ No i oczywiście nie uwzględnia znaków narodowych winksmiley.jpg
GrayHat
  1. <?php
  2. $str = 'sadjodiasofj234423jsdfiof';
  3.  
  4. if( preg_match( '![^a-zA-Z0-9]+!i', $str) ) { 
  5. echo "niedozwolone";
  6. } else {
  7. echo "tylko alfanumeryczne";
  8. }
  9. ?>
akurczyk
co to jest $match


coś tutaj nie dział:
  1. <?php
  2. if(isset($_POST['login']) && strlen($_POST['login']) > 3 && !preg_match("![^a-zA-Z0-9]+!i", $wynik['login']) && isset($_POST['haslo']) && strlen($_POST['haslo']) > 3 && !preg_match("![^a-zA-Z0-9]+!i", $wynik['haslo']) && isset($_POST['powtorz_haslo']) && $_POST['powtorz_haslo'] == $_POST['haslo'] && isset($_POST['e-mail']) && strlen($_POST['e-mail']) > 6 && isset($_POST['imie_i_nazwisko']) && strlen($_POST['login']) > 6 ) {}
  3. ?>

Pomocy!!!
PS: Dodam jeszcze że chciałbym żeby w loginie, mogły występować same cyfry lub same litery.


To nie działa:
  1. <?php
  2. $str = "aaazzz11119999";
  3. if(!preg_match("![^a-zA-Z0-9]+!i", $str) { echo "ok"; } else { echo "no"; }
  4. ?>
f1xer
  1. <?php
  2. $str="jakisdasdasd";
  3. if(!preg_match("![^a-zA-Z0-9]+!i", $str)) { echo "ok"; } else { echo "no"; }
  4. ?>


brakowało nawiasu do if'a
akurczyk
Dzięki i jeszcze jedno jak zrobić żeby w hasło mogły występować wszystkie znaki ale musi znajdować się tam a-z i 1-9?

i jeszcze jedno jak zrobić żeby w loginie (poprzednim wyrażeniu) nie można było używać dużych znaków wywaliłem A-Z ale to nic nie dało
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.