Código PHP:
function verificarNumero($edValor)
{
$es=false; // indica si es falso o verdadero
$salir=false; // mientras sea falso verifica....
$estado=0;
$delantero=0;
$longitud=strlen($edValor);
while(!$salir)
{
switch($estado)
{
case 0:
$c=$edValor[$delantero];
$delantero++;
if(($c=='0')&&($longitud==$delantero))
{
$es=true;
$salir=true;
}
elseif ($c=='+')
{
$estado=3;
}
elseif ($this->esDigitoNoCero($c))
{
$estado=1;
}
else
$estado=2;
break;
case 3:
$c=$edValor[$delantero];
if(($c=='0')&&($longitud==$delantero))
{
$es=true;
$salir=true;
}
elseif ($this->esDigitoNoCero($c))
{
$estado=1;
}
else
$estado=2;
break;
case 1: //if longitud es igual a 1 no se actualiza $c
if($longitud>1)
{
$c=$edValor[$delantero];
$delantero++;
}
if ($this->esDigito($c))
{
if($delantero==$longitud)
{
$es=true;
$salir=true;
}
else
{
$estado=1;
}
}
else
$estado=2;
break;
case 2:
$salir=true;
break;
default:
echo "ocurrio un error!!";
} // fin swhish
} //fin while
return $es;
}//FIN verficarNumero()
//
// función automata para verificar variable ---------------------------------------------------------------------------------
//
function verificarVariable($edValor)
{
$es=false; // indica si es falso o verdadero
$salir=false; // mientras sea falso verifica....
$estado=0;
$delantero=0;
$longitud=strlen($edValor);
while(!$salir)
{
switch($estado)
{
case 0:
$c=$edValor[$delantero];
$delantero++;
if ($this->esLetra($c))
{
$estado=1;
}
else
$estado=2;
break;
case 1:
if($longitud>1)
{
$c=$edValor[$delantero];
$delantero++;
}
if (($this->esLetra($c))||($c=='_')||($this->esDigito($c)))
{
if($delantero==$longitud)
{
$es=true;
$salir=true;
}
else
{
$estado=1;
}
}
else
{
$estado=2;
}
break;
case 2:
$salir=true;
break;
default:
echo "ocurrio un error!!";
} // fin swhish
} //fin while
return $es;
}//FIN verficarVariable()