1.校验一个字符串是否是合法IP地址

ipv4举例:利用正则表达式来匹配

def checkip(ip):p = re.compile('^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$')if p.match(ip):return Trueelse:return False

2.校验一个字符串是否为中文

python在执行代码过程是不知道这个字符是什么意思的、是否是中文,而是把所有代码翻译成二进制也就是000111这种形式,机器可以看懂的语言。也就是说在计算机中所有的字符都是有数字来表示的。汉字也是有数字表示的,Unicdoe4E00~9FFF表示中文,所以如果一个字符的utf-8编码在这个区间内,就说明它是中文。

代码:

def is_Chinese(word):for ch in word:if '\u4e00' <= ch <= '\u9fa5':return Truereturn False

3.判断一个unicode是否是数字

def is_number(uchar):if uchar >= u'/u0030' and uchar<=u'/u0039':return Trueelse:return False

4.判断一个unicode是否是英文字母

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
def is_alphabet(uchar):if (uchar >= u'/u0041' and uchar<=u'/u005a') or (uchar >= u'/u0061' and uchar<=u'/u007a'):return Trueelse:return False

5.主要的非英文语系字符范围

  • 2E80~33FFh:中日韩符号区。收容康熙字典部首、中日韩辅助部首、注音符号、日本假名、韩文音符,中日韩的符号、标点、带圈或带括符文数字、月份,以及日本的假名组合、单位、年号、月份、日期、时间等。

  • 3400~4DFFh:中日韩认同表意文字扩充A区,总计收容6,582个中日韩汉字。

  • 4E00~9FFFh:中日韩认同表意文字区,总计收容20,902个中日韩汉字。

  • A000~A4FFh:彝族文字区,收容中国南方彝族文字和字根。

  • AC00~D7FFh:韩文拼音组合字区,收容以韩文音符拼成的文字。

  • F900~FAFFh:中日韩兼容表意文字区,总计收容302个中日韩汉字。

  • FB00~FFFDh:文字表现形式区,收容组合拉丁文字、希伯来文、阿拉伯文、中日韩直式标点、小符号、半角符号、全角符号等。

比如需要匹配所有中日韩非符号字符,那么正则表达式应该是^[/u3400-/u9FFF]+$

理论上没错, 可是我到msn.co.ko随便复制了个韩文下来, 发现根本不对, 诡异

再到msn.co.jp复制了个’お’, 也不得行…

然后把范围扩大到^[/u2E80-/u9FFF]+$, 这样倒是都通过了, 这个应该就是匹配中日韩文字的正则表达式了, 包括我們臺灣省還在盲目使用的繁體中文

而关于中文的正则表达式, 应该是^[/u4E00-/u9FFF]+$, 和论坛里常被人提起的^[/u4E00-/u9FA5]+$很接近

需要注意的是论坛里说的^[/u4E00-/u9FA5]+$这是专门用于匹配简体中文的正则表达式, 实际上繁体字也在里面, 我用测试器测试了下’中華人民共和國’, 也通过了, 当然, ^[/u4E00-/u9FFF]+$也是一样的结果

6.常见的校验正则表达式

匹配双字节字符(包括汉字在内):[^x00-xff]

评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)

匹配空白行的正则表达式:ns*r

评注:可以用来删除空白行

匹配HTML标记的正则表达式:<(S*?)[^>]*&gt;.*?|<.*? />

评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力

匹配首尾空白字符的正则表达式:^s*|s*$

评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式

匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*

评注:表单验证时很实用

匹配网址URL的正则表达式:[a-zA-z]+://[^s]*

评注:网上流传的版本功能很有限,上面这个基本可以满足需求

匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$

评注:表单验证时很实用

匹配国内电话号码:d{3}-d{8}|d{4}-d{7}

评注:匹配形式如 0511-4405222 或 021-87888822

匹配腾讯QQ号:[1-9][0-9]{4,}

评注:腾讯QQ号从10000开始

匹配中国邮政编码:[1-9]d{5}(?!d)

评注:中国邮政编码为6位数字

匹配身份证:d{15}|d{18}

评注:中国的身份证为15位或18位

匹配ip地址:d+.d+.d+.d+

评注:提取ip地址时有用

匹配特定数字:

^[1-9]d*$    //匹配正整数
^-[1-9]d*$   //匹配负整数
^-?[1-9]d*$   //匹配整数
^[1-9]d*|0$  //匹配非负整数(正整数 + 0)
^-[1-9]d*|0$   //匹配非正整数(负整数 + 0)
^[1-9]d*.d*|0.d*[1-9]d*$   //匹配正浮点数
^-([1-9]d*.d*|0.d*[1-9]d*)$  //匹配负浮点数
^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$  //匹配浮点数
^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$   //匹配非负浮点数(正浮点数 + 0)
^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$  //匹配非正浮点数(负浮点数 + 0)

评注:处理大量数据时有用,具体应用时注意修正

匹配特定字符串:

^[A-Za-z]+$  //匹配由26个英文字母组成的字符串^[A-Z]+$  //匹配由26个英文字母的大写组成的字符串^[a-z]+$  //匹配由26个英文字母的小写组成的字符串^[A-Za-z0-9]+$  //匹配由数字和26个英文字母组成的字符串^w+$  //匹配由数字、26个英文字母或者下划线组成的字符串

在使用RegularExpressionValidator验证控件时的验证功能及其验证表达式介绍如下:

只能输入数字:“^[0-9]*$”

只能输入n位的数字:“^d{n}$”

只能输入至少n位数字:“^d{n,}$”

只能输入m-n位的数字:“^d{m,n}$”

只能输入零和非零开头的数字:“^(0|[1-9][0-9]*)$”

只能输入有两位小数的正实数:“^[0-9]+(.[0-9]{2})?$”

只能输入有1-3位小数的正实数:“^[0-9]+(.[0-9]{1,3})?$”

只能输入非零的正整数:“^+?[1-9][0-9]*$”

只能输入非零的负整数:“^-[1-9][0-9]*$”

只能输入长度为3的字符:“^.{3}$”

只能输入由26个英文字母组成的字符串:“^[A-Za-z]+$”

只能输入由26个大写英文字母组成的字符串:“^[A-Z]+$”

只能输入由26个小写英文字母组成的字符串:“^[a-z]+$”

只能输入由数字和26个英文字母组成的字符串:“^[A-Za-z0-9]+$”

只能输入由数字、26个英文字母或者下划线组成的字符串:“^w+$”

验证用户密码:“^[a-zA-Z]w{5,17}$”正确格式为:以字母开头,长度在6-18之间,只能包含字符、数字和下划线。

验证是否含有^%&',;=?$"等字符:“[^%&',;=?$x22]+”

只能输入汉字:“^[u4e00-u9fa5],{0,}$”

验证Email地址:“^w+[-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$”

验证InternetURL:“^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$”

验证电话号码:“^((d{3,4})|d{3,4}-)?d{7,8}$”

正确格式为:“XXXX-XXXXXXX”,“XXXX-XXXXXXXX”,“XXX-XXXXXXX”, “XXX-XXXXXXXX”,“XXXXXXX”,“XXXXXXXX”。

验证身份证号(15位或18位数字):“^d{15}|d{}18$”

验证一年的12个月:“^(0?[1-9]|1[0-2])$”正确格式为:“01”-“09”“1”“12”

验证一个月的31天:“^((0?[1-9])|((1|2)[0-9])|30|31)$”

正确格式为:“01”“09”“1”“31”

匹配中文字符的正则表达式:[u4e00-u9fa5]

匹配双字节字符(包括汉字在内):[^x00-xff]

匹配空行的正则表达式:n[s| ]*r

匹配HTML标记的正则表达式:/<(.*)>.*|<(.*) />/

匹配首尾空格的正则表达式:(^s*)|(s*$)

匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*

匹配网址URL的正则表达式:http://([w-]+.)+[w-]+(/[w- ./?%&=]*)?

python常用校验方法总结相关推荐

  1. Python 常用编程方法

    python编程中常用的12种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序.去重,字典排序,字典.列表.字符串互转,时间对象操作,命令行参数解析(getopt),print 格式化输出,进 ...

  2. Python 常用魔法方法

    1.dict 无处不在的__dict__ 类的__dict__属性和类对象的__dict__属性 # -*- coding: utf-8 -*-class A(object):"" ...

  3. python常用字符串方法调用语法_Python3常用的字符串方法

    判断是否全是字母 "python".isalpha() # 返回True "2python".isalpha() # 返回False 根据分隔符分割字符串 a ...

  4. python常用输入输出の方法

    获取用户输入: Python split()方法: #Python split()方法: """ 描述 Python split() 通过指定分隔符对字符串进行切片,如果 ...

  5. python常用魔术方法

    常见的魔方属性.方法 __doc__ 表示类的描述信息 __module__表示当前操作的对象在那个模块(main) __class__表`示当前操作的对象的类是什么 __new__ 创建对象时为对象 ...

  6. python常用类型转换の方法

    python实现字符和ascll转换 # 用户输入字符 c = input("请输入一个字符: ") # 用户输入ASCII码,并将输入的数字转为整型 a = int(input( ...

  7. Python数据处理023:python常用画图方法

    plt.figure() 产生图 你可以多次使用figure命令来产生多个图,其中,图片号按顺序增加.这里,要注意一个概念当前图和当前坐标.所有绘图操作仅对当前图和当前坐标有效.通常,你并不需要考虑这 ...

  8. python 魔法方法常用_Python 常用魔法方法(下)

    Python 常用魔法方法(下) 回顾 魔法方法是 Python 内置方法, 不需要我们手动调用, 它存在的目的是给 解释器 调用的. 比如我们在写 "1 + 1 " 的时候, 这 ...

  9. 基于 Python 的 8 种常用抽样方法

    抽样是统计学.机器学习中非常重要,也是经常用到的方法,因为大多时候使用全量数据是不现实的,或者根本无法取到.所以我们需要抽样,比如在推断性统计中,我们会经常通过采样的样本数据来推断估计总体的样本. 上 ...

最新文章

  1. Codeforce DIV2 614 SZU的cf集训round1 C ~ D
  2. Swift 循环、数组 字典的遍历
  3. 01 使用numpy处理数据、ndarry创建
  4. type python3_详解Python3中的Sequence type的使用
  5. VTK:PolyData之ExtractSelectionOriginalId
  6. 站点分析基础概念之目标转化率
  7. Spring学习之AOP(面向切面编程)
  8. UVA - 796 Critical Links(tarjan求割边)
  9. 生成式模型和判别式模型(转)
  10. workaround for COM_ATTRFRG_GEN 066
  11. jwt的token自动续约_JWT(JSON Web Token)自动延长到期时间
  12. centos5.9 安装mysql_centos 5.9 安装mysql 5.5.31
  13. sql max同一行_超经典SQL题 | 做完这4道面试题你就过关了
  14. java中new与newitance_你真的弄明白 new 了吗
  15. P4475 巧克力王国(KDTree)
  16. jQuery选择器整理+知识总结
  17. python用什么编译器-python用什么编译器
  18. 2018年银联红包领取方法
  19. sql(mysql快捷键)
  20. 三小时,破解数据库智能管控中的奥秘

热门文章

  1. 最常有用的英语口语900句
  2. API接口自动化测试框架搭建(三)-开发环境安装
  3. 【Unity3D】2018实时渲染电影短片《死者之书》技术文章合集
  4. 博客页面演示——前端(功能全部完善)
  5. 小度音箱如何连接智汀中不同品牌的设备?
  6. 虚拟机连不上网问题及解决
  7. python追加_python列表追加
  8. 2021最新论文查重网站分享(附免费查重网址)
  9. top命令详解(Linux)
  10. datagridview实现多维表头+合计行的使用