webForumDet fria alternativet

Validera IP nummer

ASP

12 svar · 351 visningar · startad av firstchoice

Medlem sedan okt. 2001615 inlägg
Frågan#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

???

Medlem 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.

Medlem 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. ;)

Medlem sedan okt. 2001615 inlägg
#4

hur meckar man med regexpmönster ?

Medlem 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

Medlem 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 :(

Medlem sedan okt. 2001615 inlägg
#7

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

Medlem 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.

Medlem sedan okt. 2001615 inlägg
#9

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

Medlem sedan dec. 19998 577 inlägg
#10

Testa detta då:

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

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

Medlem 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
Medlem 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;
}
263 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)