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: