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
???
12 svar · 351 visningar · startad av firstchoice
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
???
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.
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. ;)
hur meckar man med regexpmönster ?
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
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 :(
skall inte detta stoppa om det är mindre eller fler än 3 siffror
d{3,3} ??
\d{1,3} betyder att det får vara en till tre siffror, t.ex 123.45.78.195.
men det säger ej ifrån ifall det är fel!
ganska bra, men sen kommer man ju till problemet att det inte får vara mer än 255 :)
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
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;
}