Verificare variabile....

antonioamabile

Utente Attivo
21 Gen 2010
150
0
16
Salve ho googlato un po' ma non ho trovato soluzione al mio problema, devo verificare che una variabile sia composta da numeri e lettere.
 
ciao
potresti fare così
però guarda che non sono molto bravo a scrivere le espressioni regolari (quel "/[a-zA-Z0-9]/")quindi verifica

PHP:
<?php
$variabile="pinco pallo 1987";
if(preg_match("/[a-zA-Z0-9]/", $variabile)) {
	echo "la variabile contine solo lettere e numeri";
}else{
	echo "nella variabile sono presenti caratteri strani";
}
 
ciao
scusa avevo capito male il problema. prova questo

PHP:
<?php
function numeri_e_lettere($str){
	$flag_let=0;
	$flag_num=0;
	for($j=0; $j < strlen($str); $j++){
		if(ord($str[$j]) >=65 && ord($str[$j]) <=90){$flag_let=1;}//cerca da A a Z
		if(ord($str[$j]) >=97 && ord($str[$j]) <=122){$flag_let=1;}//cerca da a a z
		if(ord($str[$j]) >=40 && ord($str[$j]) <=57){$flag_num=1;}//cerca da 0 a 9
	}
	if(($flag_let*$flag_num)> 0){//se 0 o mancano le lettere o i numeri
		return TRUE;//ci sono lettere e numeri
	}else{
		return FALSE;
	}
}
$variabile="pinco pallo 1258";

if(numeri_e_lettere($variabile)){
	echo "sringa OK";
}else{
	echo "sringa KO";
}
?>
 
prova così
Codice:
preg_match( '/^[a-z0-9]/', $nome_variabile )
se vuoi dare una lunghezza definita invece fai così
Codice:
preg_match( '/^[a-z0-9]{n}/', $nome_variabile )
dove n è la lunghezza della stringa...3 (stringa di 3 caratteri, nè uno di più nè uno di meno), 5 (stringa di 5 caratteri, nè uno di più nè uno di meno)...e così via
 
effettivamente ho preso un abbaglio anche io :)
perchè tu scrivi "numeri E lettere"...
quindi una espressione regolare va bene fino a un certo punto...
 
ciao
anche io mi sono perso in un bicchier d'acqua (prima mal interpretando, poi facendo una funziaone che potrebbe andare bene se uno vuole contare anche quanti)

il problema è semplicissimo

PHP:
<?php
$variabile="pinco pallo 999";
if(preg_match("/[a-zA-Z]/", $variabile) && preg_match("/[0-9]/", $variabile)) {
	echo "stringa OK";
}else{
	echo "stringa KO";
}
?>
 
non avevo mai usato preg_match in una espressione logica...
ho imparato un'altra cosa :)
 

Discussioni simili