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:
dove nel campo x la reg exp inseriscocodice:<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>
^[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
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?!?!?!?!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!");} }
![]()
![]()
![]()
VVoVe:
VVoVe:
VVoVe:

chiaramente scherzo, ma ecco il problema...
VVoVe:
Rispondi quotando