一组python用于验证数据的函数,一组python,#! /usr/bin/


#! /usr/bin/env python#coding=utf-8import typesimport re"""验证所有表单提交的数据"""#判断是否为整数 15def IsNumber(varObj):    return type(varObj) is types.IntType#判断是否为字符串 stringdef IsString(varObj):    return type(varObj) is types.StringType#判断是否为浮点数 1.324def IsFloat(varObj):    return type(varObj) is types.FloatType#判断是否为字典 {'a1':'1','a2':'2'}def IsDict(varObj):    return type(varObj) is types.DictType#判断是否为tuple [1,2,3]def IsTuple(varObj):    return type(varObj) is types.TupleType#判断是否为List [1,3,4]def IsList(varObj):    return type(varObj) is types.ListType#判断是否为布尔值 Truedef IsBoolean(varObj):    return type(varObj) is types.BooleanType#判断是否为货币型 1.32def IsCurrency(varObj):    #数字是否为整数或浮点数    if IsFloat(varObj) and IsNumber(varObj):        #数字不能为负数        if varObj >0:            return isNumber(currencyObj)            return False    return True#判断某个变量是否为空 xdef IsEmpty(varObj):    if len(varObj) == 0:        return True    return False#判断变量是否为None Nonedef IsNone(varObj):    return type(varObj) is types.NoneType# == "None" or varObj == "none":#判断是否为日期格式,并且是否符合日历规则 2010-01-31def IsDate(varObj):    if len(varObj) == 10:        rule = '(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29)$/'        match = re.match( rule , varObj )        if match:            return True        return False    return False#判断是否为邮件地址def IsEmail(varObj):    rule = '[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$'    match = re.match( rule , varObj )    if match:        return True    return False#判断是否为中文字符串def IsChineseCharString(varObj):    for x in varObj:        if (x >= u"\u4e00" and x<=u"\u9fa5") or (x >= u'\u0041' and x<=u'\u005a') or (x >= u'\u0061' and x<=u'\u007a'):           continue        else:           return False    return True#判断是否为中文字符def IsChineseChar(varObj):    if varObj[0] > chr(127):       return True    return False#判断帐号是否合法 字母开头,允许4-16字节,允许字母数字下划线def IsLegalAccounts(varObj):    rule = '[a-zA-Z][a-zA-Z0-9_]{3,15}$'    match = re.match( rule , varObj )    if match:        return True    return False#匹配IP地址def IsIpAddr(varObj):    rule = '\d+\.\d+\.\d+\.\d+'    match = re.match( rule , varObj )    if match:        return True    return Falseif __name__=='__main__':    print 'IsDate:',IsDate('2010-01-31')    print 'IsNone:',IsNone(None)    print 'IsEmpty:',IsEmpty('1')    print 'IsCurrency:',IsCurrency(1.32)    print 'IsList:',IsList([1,3,4])    print 'IsTuple:',IsTuple([1,3,4])    print 'IsDict:',IsDict({'a1':'1','a2':'2'})    print 'IsFloat:',IsFloat(1.2)    print 'IsString:',IsString('string')    print 'IsNumber:',IsNumber(15)    print 'IsEmail:',IsEmail('sgicer@163.com')    print 'IsChineseChar:',IsChineseChar(u'啊')    print 'IsChineseCharString:',IsChineseCharString(u'啊倒萨')    print 'IsLegalAccounts:',IsLegalAccounts('alan_z')    print 'IsIpAddr:',IsIpAddr('127.1110.0.1')    pass

评论关闭