js正则表达式-电话号码-邮箱-有效的url
⽬录
菜鸟教程RegExp对象参考⼿册
⼀、⼿机电话号码
举例:188********
不同运营商号码号段
分析号码:
1. 以1开头(开头3个限制太多,可以指定号码号段)
2. 共11位
则电话号码的正则表达式为:js中文正则表达式
var pattrn = /^1[0-9]{10}$/g;
⼆、邮箱
参考链接:
举例:2459757525@qq或wangfan@sjhd.163
(1)分析邮件名称部分:
26个⼤⼩写英⽂字母表⽰为a-zA-Z
数字表⽰为0-9
下划线表⽰为_
中划线表⽰为-
由于名称是由若⼲个字母、数字、下划线和中划线组成,所以需要⽤到+表⽰多次出现
 根据以上条件得出邮件名称:[a-zA-Z0-9_-]+
(2)分析域名部分:
⼀般域名的规律为“[N级域名][三级域名.]⼆级域名.顶级域名”,⽐如“qq”、“www.qq”、“mp.weixin.qq”、“12-34”,分析可得域名类似“** .** .** .**”组成。
“**”部分可以表⽰为[a-zA-Z0-9_-]+
“.**”部分可以表⽰为\.[a-zA-Z0-9_-]+
多个“.**”可以表⽰为(\.[a-zA-Z0-9_-]+)+
综上所述,域名部分可以表⽰为[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+
(3)最终表达式:
 由于邮箱的基本格式为“名称@域名”,需要使⽤“^”匹配邮箱的开始部分,⽤“$”匹配邮箱结束部分以保证邮箱前后不能有其他字符,所以最终邮箱的正则表达式为:
var reg = ^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$
\w查数字、字母及下划线。⽤\w简化。
var reg=/^([\w-]+)+@[\w-]+(\.[\w-]+)+$/;
【2】名称允许汉字、字母、数字,域名只允许英⽂域名
举例:
杨元庆001Abc@lenovo
分析邮件名称部分:
汉字在正则表⽰为[\u4e00-\u9fa5]
字母和数字表⽰为A-Za-z0-9
通过分析得出邮件名称部分表达式为[A-Za-z0-9\u4e00-\u9fa5]+
分析邮件域名部分
邮件部分可以参考实例1中的分析域名部分。
得出域名部分的表达式为[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+。
最终表达式:
我们⽤@符号将邮箱的名称和域名拼接起来,因此完整的邮箱表达式为
var pattrn = /^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/
三、有效的url【协议仅为HTTP(S)】
(1)url举例:
(2)url结构组成参考⽹址
(3)结构解析
域名规则
1. 26个英⽂字母
2. "0,1,2,3,4,5,6,7,8,9"⼗个数字
3. "-"(英⽂中的连词号,但不能是第⼀个字符或者最后⼀个字符)
4. 对于中⽂域名⽽⾔,还可以含有中⽂字符⽽且是必须含有中⽂字符(⽇⽂、韩⽂等域名类似)。
⾸先URL结构⼀般包括协议、主机名、主机端⼝、路径、请求信息、哈希,⽽本题协议已给出为HTTP(S),使⽤正则匹配URL,核⼼步骤有:
1. ⾸先必须是以http(s)开头并且可以不包含协议头部信息
2. 主机名可以使⽤"-"符号,所以两种情况都要判断,包含"-"或不包含"-"
3. 顶级域名很多,直接判断"."之后是否为字母即可
4. 最后判断端⼝、路径和哈希,这些参数可有可⽆
(4)各部分正则表达式
开始符 ^
协议部分http(s)://表⽰为https?:\/\/
域名部分表⽰为 (([A-Za-z0-9]+-[A-Za-z0-9]+|[A-Za-z0-9]+)\.)+
顶级域名com cn等为2-6位表⽰为[a-zA-Z]{2,6}
端⼝部分表⽰为(:\d+)? 【?表⽰0次或1次】
请求路径如/login表⽰为 (\/.*)?
问号传参及哈希值如?age=1表⽰为 (\?.*)?
结束符 $
(5)url的正则表达式为
var parrtn = /^((http|https):\/\/)?(([A-Za-z0-9]+-[A-Za-z0-9]+|[A-Za-z0-9]+)\.)+([a-zA-Z]{2,6})(:\d+)?(\/.*)?(\?.*)?$/

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。