一组python用于验证数据的函数

发布时间:2020-02-17 发布网站:脚本之家
脚本之家收集整理的这篇文章主要介绍了一组python用于验证数据的函数脚本之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。

脚本之家小编现在分享给大家,也给大家做个参考。

#! /usr/bin/env python
#coding=utf-8
import types
import re
 
 
"""
验证所有表单提交的数据
"""
 
#判断是否为整数 15
def IsNumber(varObj):
 
    return type(varObj) is types.IntType
 
#判断是否为字符串 string
def IsString(varObj):
 
    return type(varObj) is types.StringType
 
#判断是否为浮点数 1.324
def 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
 
#判断是否为布尔值 True
def IsBoolean(varObj):
 
    return type(varObj) is types.BooleanType
 
#判断是否为货币型 1.32
def IsCurrency(varObj):
 
    #数字是否为整数或浮点数
    if IsFloat(varObj) and IsNumber(varObj):
        #数字不能为负数
        if varObj >0:
            return isNumber(currencyObj)
            return False
    return True
 
#判断某个变量是否为空 x
def IsEmpty(varObj):
 
    if len(varObj) == 0:
        return True
    return False
 
#判断变量是否为None None
def IsNone(varObj):
 
    return type(varObj) is types.NoneType# == "None" or varObj == "none":
 
#判断是否为日期格式,并且是否符合日历规则 2010-01-31
def 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 False
 
 
 
if __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,4])
    print 'IsTuple:',IsTuple([1,4])
    print 'IsDict:',IsDict({'a1':'1','a2':'2'})
    print 'IsFloat:',IsFloat(1.2)
    print 'IsString:',IsString('string')
    print 'IsNumber:',IsNumber(15)
    print 'IsEmail:',IsEmail('[email protected]')
    print 'IsChineseChar:',IsChineseChar(u'啊')
    print 'IsChineseCharString:',IsChineseCharString(u'啊倒萨')
    print 'IsLegalAccounts:',IsLegalAccounts('alan_z')
    print 'IsIpAddr:',IsIpAddr('127.1110.0.1')
    pass

以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。

总结

以上是脚本之家为你收集整理的一组python用于验证数据的函数全部内容,希望文章能够帮你解决一组python用于验证数据的函数所遇到的程序开发问题。

其他人正在看

如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入脚本之家官方QQ群:1065694478
标签: