一般写这两个常用小功能都要用到正则表达式,关于正则表达式的知识,可以搜索
验证手机号格式
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
我查到的一般邮箱格式为:前缀@后缀 其中:
-
前缀最少3位(数字、字母、点号、特殊字符),长度自己设置。
点号:
.(不能开头使用,不能连续使用)特殊符号: ! # $ % & ' * + - / = ? ^ _ ` { | } ~
-
后缀长度通常在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个以上)的字符串。
$ :匹配字符串结束。