JS针对性总结:验证手机号、邮箱格式

773 阅读1分钟
一般写这两个常用小功能都要用到正则表达式,关于正则表达式的知识,可以搜索

验证手机号格式

let phoneNumber = '17777777777' // 这里可以动态传入
let regex = /^1[3-9][0-9]{9}$/
console.log(regex.test(phoneNumber)) // true

// 另一种匹配验证方式:\d 表示匹配任何一个数字,相当于[0-9]
let regex = /^1[3-9]\d{9}$/

定义一个格式来测试:

^ :标记字符串开始位置

1 :手机号第一位都是1

[3-9] :第二位数字可以是3到9的任何一个,包括3和9

[0-9]{9} :表示匹配从0到9之间(包括0和9)的任何一个,连续匹配9个数,中国手机号一共11位

$ :匹配字符串结束位置

regex.test() :对比正则表达式进行测试

验证邮箱格式

let email = '132.asda.d@csa.c.dm' // 这里可以动态传入
let regex = /^[\w-]{3,}(\.\w+)*@[A-z0-9]+(\.[A-z]{1,9})*\.[A-z]{2,}$/
console.log(regex.test(email)) // true

我查到的一般邮箱格式为:前缀@后缀 其中:

  1. 前缀最少3位(数字、字母、点号、特殊字符),长度自己设置。

    点号: . (不能开头使用,不能连续使用)

    特殊符号: ! # $ % & ' * + - / = ? ^ _ ` { | } ~

  2. 后缀长度通常在2~63个字符之间(数字、字母、-、#、.)。

    点号: . 一般在用在子域名中

定义一个格式来测试:

^ :匹配字符串开始。

\w :匹配数字、字母、下划线。

[\w-]{3,} :匹配至少3个或者3个以上的数字、字母、下划线、连接符。

(\.\w+)* :匹配0个或者多个点号、数字、字母、下划线组成的字符串。

——————其中:\.\w+ \. 表示 .\w+ 表示至少一个数字、字母、下划线。如果 ()* 存在1个,则一定含有至少一个数字、字母、下划线。

@ :匹配邮箱中的 @ 符号。

[A-z0-9]+ :匹配所有大小写字母和数字至少1个。

(\.[A-z]{1,9})* :匹配0个或者多个以点号开头,任何大小写字母和数字(1-9个)的子字符串。

\.[A-z]{2,} :匹配一个以点号开头,任何大小写字母(2个以上)的字符串。

$ :匹配字符串结束。