# 应用
# 1. 匹配手机号码
我们先从比较简单的匹配手机号码开始。目前国内的手机号码是1(3/4/5/7/8)开头的11位数字,因此手机号码的正则可以分解为以下几部分:
以 1 开头:/^1/
第2位为3、4、5、7、8中的一个:/[34578]/ 或 /(3|4|5|7|8)/
剩余3-11位均为数字,并以数字结尾:/\d{9}$/
组合起来即为 /^1[34578]\d{9}$/ 或 /^1(3|4|5|7|8)\d{9}$/,因为使用捕获括号存在性能损失,所以推荐使用第一种写法。
# 2. 匹配电子邮件
标准的电子邮件组成为@.,
每部分的格式标准为(进行了相应的简化,主要为展示如何书写正则):
yourname:任意英文字母(a-z/A-Z)、数字(0-9)、下划线(_)、英文句点(.)、连字符(-),长度大于0
domain:任意英文字母(a-z/A-Z)、数字(0-9)、连字符(-),长度大于0
extension:任意英文字母(a-z/A-Z),长度2-8
optional-extension:"."开头,后面跟任意英文字母(a-z/A-Z),长度2-8,可选
每部分的正则表达式为:
yourname:/[a-z\d._-]+/
domain:/[a-z\d-]+/
extension: /[a-z]{2,8}/
optional-extension:/(.[a-z]{2,8})?/
组合起来形成最后的正则表达式:/^([a-z\d._-]+)@([a-z\d-]+).([a-z]{2,8})(.[a-z]{2,8})?$/;为了增加可读性可以将每部分用"()"包起来,并不要忘记起始和结束符 ^$。
← 正则表达式