JavaScript常用正则函数用法示例


Posted in Javascript onJanuary 23, 2017

本文实例讲述了JavaScript常用正则函数用法。分享给大家供大家参考,具体如下:

JavaScript正则函数match、exec、test、search、replace、split使用。

*属性 "g"、"i" 和 "m",分别用于指定全局匹配、区分大小写的匹配和多行匹配。

1、match()函数

match()函数:如果未找到匹配,则返回值为 null;如果找到了匹配,则返回一个结果数组。

function RegExpMatch() {
  var str = "https://3water.com/jiaoben";
  var reg = /[j][\s\S]{3}/gi; // 注意g将全文匹配,不加将永远只返回第一个匹配
  var result = str.match(reg);
  alert(result); //返回:3water,jiao
}

2、exec()函数

exec()函数:如果未找到匹配,则返回值为 null;如果找到了匹配,则返回一个结果数组。

此数组的第 0 个元素是与正则表达式相匹配的文本,第1个元素与 RegExpObject的第1个子表达式相匹配的文本(如果有的话),第2个元 素是与RegExpObject的第2个子表达式相匹配的文本(如果有的话),以 此类推。

function RegExpExec() {
  var str = "1234-5678";
  var reg = /(\d{4})-(\d{4})/;
  var result = reg.exec(str);
  alert(result); //返回:1234-5678,1234,5678
  alert(result[1] + ' ' + result[2]); //1234 5678
  alert(RegExp.$1 + ' ' + RegExp.$2); //1234 5678
}

3、test()函数

test()函数:返回一个 Boolean 值,它指出在被查找的字符串中是否匹配给出的正则表达式。

function RegExpTest() {
  var str = "https://3water.com/jiaoben";
  var reg = /^http:\/\/([\w-]+\.)+[\w-]+(\/[\w-]*)?$|^([\w-]+\.)+[\w-]+(\/[\w-]*)?$/;  //验证URL格式
  var result = false;
  if (reg.test(str)) {
    result = true;
  }
  alert(result);  //true
}

4、search ()函数

search ()函数:返回与正则表达式查找内容匹配的第一个子字符串的位置,如果未找到匹配,则返回值为 -1。

function RegExpSearch() {
  var str = "https://3water.com/jiaoben";
  var reg = /(jiaoben)/;
  var result = str.search(reg);
  alert(result);  //20
}

5、replace()函数

replace()函数:返回根据正则表达式进行文字替换后的字符串的复制。

function RegExpReplace() {
  var str = "https://3water.com/jiaoben";
  var reg = /^(http:\/\/3water.com)\/([\w]*)$/;
  var result = str.replace(reg, "$1?userId=$2");
  alert(result);  //https://3water.com?userId=jiaoben
}

6、split()函数

split()函数:将一个字符串分割为子字符串,然后将结果作为字符串数组返回。

function RegExpSplit() {
  var str = "1@4@7@9";
  var reg = /@/;
  var result = str.split(reg); ;
  alert(result);  //[1,4,7,9]
}
Javascript 相关文章推荐
解决Extjs 4 Panel作为Window组件的子组件时出现双重边框问题
Jan 11 Javascript
JS 实现图片直接下载示例代码
Jul 22 Javascript
jqGrid读取选择的多行的某个属性代码
May 18 Javascript
javaScript年份下拉列表框内容为当前年份及前后50年
May 28 Javascript
Bootstrap table分页问题汇总
May 30 Javascript
Flask中获取小程序Request数据的两种方法
May 12 Javascript
JS按条件 serialize() 对应标签的使用方法
Jul 24 Javascript
基于LayUI分页和LayUI laypage分页的使用示例
Aug 02 Javascript
Vue图片浏览组件v-viewer用法分析【支持旋转、缩放、翻转等操作】
Nov 04 Javascript
JavaScript冒泡算法原理与实现方法深入理解
Jun 04 Javascript
Vue Element校验validate的实例
Sep 21 Javascript
详解Anyscript开发指南绕过typescript类型检查
Sep 23 Javascript
详解微信小程序 wx.uploadFile 的编码坑
Jan 23 #Javascript
微信小程序侧边栏滑动特效(左右滑动)
Jan 23 #Javascript
微信小程序技巧之show内容展示,上传文件编码问题
Jan 23 #Javascript
Javascript同时声明一连串(多个)变量的方法
Jan 23 #Javascript
jQuery点击导航栏选中更换样式的实现代码
Jan 23 #Javascript
jQuery弹出层插件popShow(改进版)用法示例
Jan 23 #Javascript
JS判断指定dom元素是否在屏幕内的方法实例
Jan 23 #Javascript
You might like
正确的PHP匹配UTF-8中文的正则表达式
2015/05/13 PHP
PHP Static延迟静态绑定用法分析
2016/03/16 PHP
PHPExcel简单读取excel文件示例
2016/05/26 PHP
json数据处理技巧(字段带空格、增加字段、排序等等)
2013/06/14 Javascript
利用js(jquery)操作Cookie的方法说明
2013/12/19 Javascript
JavaScript  cookie 跨域访问之广告推广
2016/04/20 Javascript
HTML页面,测试JS对C函数的调用简单实例
2016/08/09 Javascript
BootStrap iCheck插件全选与获取value值的解决方法
2016/08/24 Javascript
EditPlus中的正则表达式 实战(4)
2016/12/15 Javascript
nodejs处理图片的中间件node-images详解
2017/05/08 NodeJs
javascript 中事件冒泡和事件捕获机制的详解
2017/09/01 Javascript
Angular5中提取公共组件之radio list的实例代码
2018/07/10 Javascript
vue实现图片裁剪后上传
2020/12/16 Vue.js
[02:34]肉山说——泡妞篇
2014/09/16 DOTA
[03:11]完美世界DOTA2联赛PWL DAY8集锦
2020/11/09 DOTA
使用Python的Twisted框架编写简单的网络客户端
2015/04/16 Python
python清除字符串里非字母字符的方法
2015/07/02 Python
解决python2.7用pip安装包时出现错误的问题
2017/01/23 Python
100行Python代码实现自动抢火车票(附源码)
2018/01/11 Python
Python3.5内置模块之shelve模块、xml模块、configparser模块、hashlib、hmac模块用法分析
2019/04/27 Python
python开发实例之python使用Websocket库开发简单聊天工具实例详解(python+Websocket+JS)
2020/03/18 Python
简单了解Java Netty Reactor三种线程模型
2020/04/26 Python
python + selenium 刷B站播放量的实例代码
2020/06/12 Python
HTML5之SVG 2D入门6—视窗坐标系与用户坐标系及变换概述
2013/01/30 HTML / CSS
英国泰坦旅游网站:全球陪同游览,邮轮和铁路旅行
2016/11/29 全球购物
床上用品全球在线购物:BeddingInn
2016/12/18 全球购物
美国专业汽车音响和移动电子产品零售商:Car Toys
2019/05/13 全球购物
C++面试题:关于链表和指针
2013/06/05 面试题
NET程序员上机面试题
2015/05/23 面试题
介绍一下EJB的体系结构
2012/08/01 面试题
大一学生假期实习的自我评价
2013/10/12 职场文书
网站设计师的岗位职责
2013/11/21 职场文书
小学一年级学生评语
2014/04/22 职场文书
厕所文明标语
2014/06/11 职场文书
详解Laravel制作API接口
2021/05/31 PHP
Win11右下角图标点了没反应怎么办?Win11点击右下角图标无反应解决方法汇总
2022/07/07 数码科技