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 相关文章推荐
javascript设置金额样式转换保留两位小数示例代码
Dec 04 Javascript
jQuery实现ichat在线客服插件
Dec 29 Javascript
javascript面向对象之this关键词用法分析
Jan 13 Javascript
JavaScript中getUTCSeconds()方法的使用详解
Jun 11 Javascript
js实现单张图片平移切换效果
Oct 11 Javascript
关于vue-cli 3配置打包优化要点(推荐)
Apr 22 Javascript
jquery+css实现Tab栏切换的代码实例
May 14 jQuery
vue实现输入框的模糊查询的示例代码(节流函数的应用场景)
Sep 01 Javascript
layui table复选框禁止某几条勾选的实例
Sep 20 Javascript
浅谈Vue3 Composition API如何替换Vue Mixins
Apr 29 Javascript
vue实现用户长时间不操作自动退出登录功能的实现代码
Jul 23 Javascript
关于uniApp editor微信滑动问题
Jan 15 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单件模式结合命令链模式使用说明
2008/09/07 PHP
php上传文件中文文件名乱码的解决方法
2013/11/01 PHP
php之curl实现http与https请求的方法
2014/10/21 PHP
PHP生成条形图的方法
2014/12/10 PHP
递归实现php数组转xml的代码分享
2015/05/14 PHP
laravel手动创建数组分页的实现代码
2018/06/07 PHP
PHP中非常有用却鲜有人知的函数集锦
2019/08/17 PHP
图片格式的JavaScript和CSS速查手册
2007/08/20 Javascript
Javascript技巧之不要用for in语句对数组进行遍历
2010/10/20 Javascript
怎么清空javascript数组
2013/05/11 Javascript
node.js中的buffer.length方法使用说明
2014/12/14 Javascript
jQuery实现的多屏图像图层切换效果实例
2015/05/07 Javascript
AngularJS使用指令增强标准表单元素功能
2016/07/01 Javascript
JS获取当前使用的浏览器名字以及版本号实现方法
2016/08/19 Javascript
值得分享的JavaScript实现图片轮播组件
2016/11/21 Javascript
Vue.js实现价格计算器功能
2020/03/30 Javascript
vue使用v-if v-show页面闪烁,div闪现的解决方法
2018/10/12 Javascript
vue实现todolist功能、todolist组件拆分及todolist的删除功能
2019/04/11 Javascript
JS数组方法shift()、unshift()用法实例分析
2020/01/18 Javascript
小程序跳转到的H5页面再跳转回跳小程序的方法
2020/03/06 Javascript
JavaScript代理模式原理与用法实例详解
2020/03/10 Javascript
Python 命令行参数sys.argv
2008/09/06 Python
采用Psyco实现python执行速度提高到与编译语言一样的水平
2014/10/11 Python
Python 字典dict使用介绍
2014/11/30 Python
python技能之数据导出excel的实例代码
2017/08/11 Python
儿童编程python入门
2018/05/08 Python
Python系统监控模块psutil功能与经典用法分析
2018/05/24 Python
详解Python sys.argv使用方法
2019/05/10 Python
Python转换时间的图文方法
2019/07/01 Python
树莓派使用python-librtmp实现rtmp推流h264的方法
2019/07/22 Python
Jupyter Notebook打开任意文件夹操作
2020/04/14 Python
python将数据插入数据库的代码分享
2020/08/16 Python
网络编程中设计并发服务器,使用多进程与多线程,请问有什么区别?
2016/03/27 面试题
采购员岗位职责范本
2015/04/07 职场文书
python实现ROA算子边缘检测算法
2021/04/05 Python
MySQL子查询中order by不生效问题的解决方法
2021/08/02 MySQL