Can you email me the file? I will post it on AlterEgo

On Nov 19, 8:32 am, artien <[EMAIL PROTECTED]> wrote:
> Here is the code I'm using to validate ip addresses entered in a text
> field in a form:
>
> Hope its usefull for someone, perhaps an idea for a requires IS_IP4 or
> IS_IP6? :)
>
> def ipcheckv6(ipnummer):
>     Is_IP = True
>     splitcounter = 0
>
>     if ipnummer.count('::') > 1:
>         #bad formatted address
>             Is_IP = False
>     else:
>         ipnummer=ipnummer.upper() #to check A to F
>         parts = ipnummer.split(':')
>         for part in parts:
>             if len(part) > 4:  #no more then 4 chars
>                 Is_IP = False
>             elif len(part) == 0: #catch multiple : after eachother
> more then :: (to catch like :::)
>                 splitcounter = splitcounter + 1
>                 if splitcounter > 1:
>                     Is_IP = False
>             else:
>
>                 #catch alphanumeric chars > F, that's not right in an
> ipv6 address
>                 #check if values are within A to F and 0 to 9
>
>                 #if values are 48 to 57 or 65 to 70 then its a right
> one
>                 ##anything bigger then F isn't right anyway
>
>                 for i in range(ord('G'),256):
>                      if part.count(chr(i)) > 0:
>                         Is_IP = False
>
>                 #anything smaller then zero aint right either
>                 for i in range(0,ord('0')):
>                      if part.count(chr(i)) > 0:
>                         Is_IP = False
>
>                 # this is : to @ sign between numbers and start of
> alphabet
>                 for i in range (58,65):
>                     if part.count(chr(i)) > 0:
>                         Is_IP = False
>
>     #catch if less then 8 parts, there has to be at least one
> double ::
>     if splitcounter == 0 and len(parts) < 8 and Is_IP:
>             Is_IP = False
>     return (Is_IP)
>
> def ipcheck():
>     ipnummer = request.vars.values()[0]
>     data = 'holding value'
>     Is_IP = True
>
>     if ipnummer.count('.') <> 3:
>         Is_IP = False
>     else:
>         parts = ipnummer.split('.')
>         for part in parts:
>             try: #to make sure it's an int.
>                 if int(part) < 0 or int(part) > 255:
>                     Is_IP = False
>             except: #if its not an int, its definately not an IPv4
> adress
>                 Is_IP = False
>
>     if Is_IP:
>         data='is ipv4'
>     else:
>         #if its not ipv4 lets check for ipv6
>         if ipnummer.count(':') > 1:
>             checkipv6 = ipcheckv6(ipnummer)
>             if not checkipv6:
>                 data = 'Not an IP'
>             else:
>                 data = 'is ipv6'
>         else:
>            data= 'Not an IP'
>     return dict(data=data)
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py Web Framework" group.
To post to this group, send email to web2py@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to