ciao a tutti,
stavo facendo una regexp che mi verificasse il formato degli ip (123.456.789.012) e allora mi sono fatto una pagina html come questa:
codice:
<html>
<head>
</head>
<script>
function test()
{
str=document.formm.textfield.value;
var reg = new RegExp(document.formm.regx.value)//123.123.123.
alert(reg.exec(str));
}
</script>
<body>
<form name="formm">
REGEXP
<input type="text" name="regx">
</p>
STRINGA
<input type="text" name="textfield"></p>
</p>
<input type="button" name="Submit" value="Invia" onClick="test()">
</p>
</form>
</body>
</html>
dove nel campo x la reg exp inserisco
^[0-9]{1,3}\.+[0-9]{1,3}\.+[0-9]{1,3}\.+[0-9]{1,3}$
evviva funziona!!!ma non avevo fatto i conti con i poteri maestrali di Js!
chiaramente scherzo, ma ecco il problema...
stavo facendo un form dove esiste un campo input dove inserire l'ip e un pulsante a cui ho associato un onclick che punta a una funzione js send() che è in file esterno al foglio (scrivo tutto perchè magari a qualche guru cade subito l'occhio sul perchè).
nel file js esterno ho una funzione
codice:
function send()
{
/*richiamo la funzione x le verifiche con un attributo a 1 che indica che voglio controllare un ip*/
ip=document.FormAIP.IP.value;
verifica(ip);
}
function verifica(ip)
{
//verifico ip!
var reg = new RegExp("^[0-9]{1,3}\.+[0-9]{1,3}\.+[0-9]{1,3}\.+[0-9]{1,3}$");//123.123.123.123
newip=reg.exec(ip)
if(newip == ip)
{alert("oK-> " + ip + "=>" + newip);}
else
{alert("no!");}
}
ora se nde campo corrispondete "a document.FormAIP.IP.value" inserisco 199.1sss.115.1 per lui è sempre corretta la regexp, cosa che non fà nel primo file html!!!perchè cambia il ragionamento della regexp in questi passaggi?!?!?!?!
VVoVe:
VVoVe:
VVoVe: