博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javascript正则表达式
阅读量:4465 次
发布时间:2019-06-08

本文共 2925 字,大约阅读时间需要 9 分钟。

1、定义正则表达式  

  • /.../  用于定义正则表达式
  • /.../g 表示全局匹配
  • /.../i 表示不区分大小写
  • /.../m 表示多行匹配

2、test(判断字符串是否符合规定的正则)

1 rep = /\d+/;2 rep.test("dfsfsfdsf423dsddd");3 # true4  5 rep = /^\d+$/;6 rep.test("dfsfsfdsf423dsddd");7 # false

3、exec(获取匹配的数据)

     默认只取第一个

1 默认只取第一个2 rep = /\d+/;3 str = "wangshen_67_houyanfa_20"4 rep.exec(str)5 # ["67"]6 rep.exec(str)7 # ["67"]

  分组匹配、对匹配到的字符串进行二次匹配

1 var text = "JavaScript is more fun than Java or JavaBeans!";2 var pattern = /Java\w*/;3 pattern.exec(text);4 # ["JavaScript"]5 var pattern = /Java(\w*)/;6 pattern.exec(text);7 # ["JavaScript", "Script"]

   全局匹配、对字符串一个一个的进行匹配直到全部匹配完成返回none,然后再次匹配时重新开始

1 var text = "JavaScript is more fun than Java or JavaBeans!"; 2 var pattern = /Java(\w*)/g; 3 pattern.exec(text); 4 # ["JavaScript", "Script"] 5 pattern.exec(text); 6 # ["Java", ""] 7 pattern.exec(text); 8 # ["JavaBeans", "Beans"] 9 pattern.exec(text);10 # null11 pattern.exec(text);12 # ["JavaScript", "Script"]

4、多行匹配

  默认情况下就是多行匹配

1 text = "JavaScript is more fun than \n Java or JavaBeans!"; 2 # "JavaScript is more fun than 3      Java or JavaBeans!" 4 pattern = /Java\w*/g; 5 pattern.exec(text); 6 # ["JavaScript"] 7 pattern.exec(text); 8 # ["Java"] 9 pattern.exec(text);10 # ["JavaBeans"]

  当出现^ $符匹配时只能匹配一行

1 text = "JavaScript is more fun than \nJava or JavaBeans!";2 # "JavaScript is more fun than3    Java or JavaBeans!"4 pattern = /^Java\w*/g;5 pattern.exec(text);6 # ["JavaScript"]7 pattern.exec(text);8 # null

当出现^ $符匹配时还想匹配多行

1 text = "JavaScript is more fun than \nJava or JavaBeans!";2 # "JavaScript is more fun than3    Java or JavaBeans!"4 pattern.exec(text);5 # ["JavaScript", "Script"]6 pattern.exec(text);7 # ["Java", ""]8 pattern.exec(text);9 # null

 

验证帐号是否合法

验证规则:字母、数字、下划线组成,字母开头,4-16位。

1 function 2  checkUser(str){ 3     var 4  re = /^[a-zA-z]\w{3,15}$/; 5     if(re.test(str)){ 6         alert("正确"); 7     }else{ 8         alert("错误"); 9     }          10 }11 checkUser("jihua_cnblogs");//调用

验证手机号码

验证规则:11位数字,以1开头。

1 function  2  checkMobile(str) { 3     var  4  re = /^1\d{10}$/ 5     if (re.test(str)) { 6         alert("正确"); 7     } else { 8         alert("错误"); 9     }10 }11 checkMobile('13800138000'); //调用12 checkMobile('139888888889');//错误示例

验证电话号码

验证规则:区号+号码,区号以0开头,3位或4位
号码由7位或8位数字组成
区号与号码之间可以无连接符,也可以“-”连接
如01088888888,010-88888888,0955-7777777 

1 function 2  checkPhone(str){ 3     var 4  re = /^0\d{2,3}-?\d{7,8}$/; 5     if(re.test(str)){ 6         alert("正确"); 7     }else{ 8         alert("错误"); 9     }10 }11 checkPhone("09557777777");//调用

验证邮箱

验证规则:姑且把邮箱地址分成“第一部分@第二部分”这样
第一部分:由字母、数字、下划线、短线“-”、点号“.”组成,
第二部分:为一个域名,域名由字母、数字、短线“-”、域名后缀组成,
而域名后缀一般为.xxx或.xxx.xx,一区的域名后缀一般为2-4位,如cn,com,net,现在域名有的也会大于4位

1 function 2  checkEmail(str){ 3     var 4  re = /^(\w-*\.*)+@(\w-?)+(\.\w{2,})+$/ 5     if(re.test(str)){ 6         alert("正确"); 7     }else{ 8         alert("错误"); 9     }10 }11 checkEmail("contact@cnblogs.com");//调用

 

转载于:https://www.cnblogs.com/WhatTTEver/p/6909074.html

你可能感兴趣的文章
C语言第十二讲,文件操作.
查看>>
绝对定位和相对定位
查看>>
实习第二天——学习mac终端命令(unix命令)和git代码管理
查看>>
初识redis
查看>>
微信支付
查看>>
2018、
查看>>
iOS开发拓展篇—CoreLocation定位服务
查看>>
吴裕雄--天生自然 高等数学学习:含参变量的积分
查看>>
成本的费用归集
查看>>
本周ASP.NET英文技术文章推荐[01/28 - 02/03]
查看>>
运行时库组件 RuntimePack v19.06.05 Full 纯净安装版
查看>>
NYOJ100 - 1的个数
查看>>
左侧定宽右侧自适应布局
查看>>
文件和目录的访问控制(4) 审核规则
查看>>
搭建svn的一些问题
查看>>
Python 爬虫插件
查看>>
【BZOJ-3809】Gty的二逼妹子序列 分块 + 莫队算法
查看>>
k8s-调度器、预选策略及优选函数-二十
查看>>
Noip 2011 Day 1 & Day 2
查看>>
一些有用的资源分享(工具+电子书)
查看>>