python小白联盟

遇见正则表达式(3)

2018-08-07  本文已影响1人  雨路浅歌

今天的内容很简单,主要是想和大家一起来用正则表达式解决几个问题,巩固之前学过的知识。

正则表达式验证主要就是验证手机号码,电子邮箱和密码,今天我们就围绕这三个来讲解一下。

验证手机号码

我们先来理清思路,手机号码是由11位数字构成,第一位数字是1,第二位数字是3、4、5或8(这个我是上网查的,不知道还有没有其它的,第三位数字好像还和第二位数字有关,这个我们就不考虑了,反正思路都是一样的)。

理清思路之后,我们就可以敲代码了。

验证电子邮箱

上次我们验证的是QQ邮箱,今天我们要验证的是常用的邮箱,是常用,不能保证全部哦。

我们知道,电子邮箱的格式一般为''用户名@域名'',用户名一般由数字、字母、下划线、减号、点的一种或几种组成,域名由数字、字母、下划线、减号的一种或几种组成的字符串被点分割组成。

比如12588@qq.comsljflsdf47@163.com等等。

故匹配用户名的正则表达式可写为[\w\._-]+,@和后面的第一个点由数字、字母、下划线、减号的一种或几种组成,匹配这部分的正则表达式为[\w_-]+,而剩下的部分则由多个.xxx组成,xxx为字母,故正则表达式为(\.[a-z]+)+

代码示例:

虽然不能保证匹配所有的电子邮箱,但是常用的都是可以匹配的。

验证密码

前面的都是比较简单的,主要是热热身,下面才是今天的重头戏——验证密码,我们要求密码必须以字母开头,密码不能少于8位,不能大于18位,而且必须要有大小写字母、数字和特殊字符。

可能存在一行代码就可以实现上面功能的可能,但是我今天是从代码的可读性出发来解决这个问题,虽然代码有点啰嗦,但是可读性还是可以的(又自恋了)。

那好,正则表达式部分到这里就要告一段落了,我们只是学习了正则很简单的部分,感兴趣的读者可以继续深究哦!!

祝大家生活愉快!!!

python小白联盟
上一篇下一篇

猜你喜欢

热点阅读