webForumDet fria alternativet

Validera IP nummer

ASPur ASP

12 svar · 351 visningar · startad av firstchoice

firstchoiceMedlem sedan okt. 2001615 inlägg
#1

går det att kolla om det man fyllde i formuläret är en giltigt IP nummer

alltså om det är uppbyggt rätt

888.888.888.888

???

mrblondeMedlem sedan aug. 20012 349 inlägg
#2

Splitta på punkten, kolla att du fått 4 poster, kontrollera att varje post är från 1 till 254.

Du får bygga koden själv.

VideMedlem sedan dec. 19998 577 inlägg
#3

Med detta regexpmönster kanske?

\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}

[R] En början iaf, du ser om syntaxen är rätt. ;)

firstchoiceMedlem sedan okt. 2001615 inlägg
#4

hur meckar man med regexpmönster ?

VideMedlem sedan dec. 19998 577 inlägg
#5

Du läser denna artikeln: http://www.webeye.nu/getArticle.asp?aid=asp_11.asp

Och testar dina mönster här: http://www.webeye.nu/default2.asp?que=asp/regexptester.asp

Mvh, Vide

firstchoiceMedlem sedan okt. 2001615 inlägg
#6

ditt möste funkar nästan
den kollar bara fram till antal täcken det skall vara
men om man skriver mer så blir det fortfarande rätt :(

firstchoiceMedlem sedan okt. 2001615 inlägg
#7

skall inte detta stoppa om det är mindre eller fler än 3 siffror
d{3,3} ??

VideMedlem sedan dec. 19998 577 inlägg
#8

\d{1,3} betyder att det får vara en till tre siffror, t.ex 123.45.78.195.

firstchoiceMedlem sedan okt. 2001615 inlägg
#9

men det säger ej ifrån ifall det är fel!

VideMedlem sedan dec. 19998 577 inlägg
#10

Testa detta då:

^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$
firstchoiceMedlem sedan okt. 2001615 inlägg
#11

ganska bra, men sen kommer man ju till problemet att det inte får vara mer än 255 :)

VideMedlem sedan dec. 19998 577 inlägg
#12
arrIp = split( strIp, "." )
if unbound( arrIp ) < 3 then
  intErr = 1
else
  for i = 0 to ubound( arrIp )
    if isnumeric(  arrIp( i ) ) then
      if not ( arrIp( i ) >= 1 and arrIp( i ) <= 255 ) then
        intErr = 1
      end if
    else
      intErr = 1
    end if
  next
end if

if intErr = 1 then
  response.write "Fel syntax!"
else
  response.write "Bra ip-syntax!"
end if
Erik JuhlinMedlem sedan maj 200010 687 inlägg
#13

Två funktioner:

function validateIP(ip)
{
	var re = /^([1-2]?[0-9]?[0-9])\.([1-2]?[0-9]?[0-9])\.([1-2]?[0-9]?[0-9])\.([1-2]?[0-9]?[0-9])$/g;
	var ma = re.exec(ip);
	return (ma != null && ma[1] <= 255 && ma[2] <= 255 && ma[3] <= 255 && ma[4] <= 255);
}

function validateIP(ip)
{
	var vip = ip.split(".");
	
	if (vip.length != 4) return false;
	for (var i = 0; i < 4; i++)
	{
		if (vip[i] == "" || isNaN(vip[i]) || parseInt(vip[i]) < 0 || parseInt(vip[i]) > 255) return false;
	}
	return true;
}
129 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)