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 相关文章推荐
JQuery防止退格键网页后退的实现代码
Mar 23 Javascript
浅谈JavaScript中Date(日期对象),Math对象
Feb 05 Javascript
javascript实现数组内值索引随机化及创建随机数组的方法
Aug 10 Javascript
jQuery EasyUI基础教程之EasyUI常用组件(推荐)
Jul 15 Javascript
浅谈angular懒加载的一些坑
Aug 20 Javascript
使用vue编写一个点击数字计时小游戏
Aug 31 Javascript
详解Vue.js动态绑定class
Dec 20 Javascript
Node.js实现注册邮箱激活功能的方法示例
Mar 23 Javascript
JavaScript字符串转数字的5种方法及遇到的坑
Jul 16 Javascript
Angular6封装http请求的步骤详解
Aug 13 Javascript
基于mpvue搭建微信小程序项目框架的教程详解
Apr 10 Javascript
vue轻量级框架无法获取到vue对象解决方法
May 12 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执行速度全攻略
2006/10/09 PHP
ThinkPHP使用心得分享-上传类UploadFile的使用
2014/05/15 PHP
PHP实现的迷你漂流瓶
2015/07/29 PHP
Yii中创建自己的Widget实例
2016/01/05 PHP
php版微信自动登录并获取昵称的方法
2016/09/23 PHP
php中遍历二维数组并以表格的形式输出的方法
2017/01/03 PHP
yii2安装详细流程
2018/05/23 PHP
ExtJs GridPanel简单的增删改实现代码
2010/08/26 Javascript
jquery js 重置表单 reset()具体实现代码
2013/08/05 Javascript
jquery修改网页背景颜色通过css方法实现
2014/06/06 Javascript
AngularJS深入探讨scope,继承结构,事件系统和生命周期
2016/11/02 Javascript
详解Javascript数据类型的转换规则
2016/12/12 Javascript
Vue + Webpack + Vue-loader学习教程之相关配置篇
2017/03/14 Javascript
微信小程序实现顶部普通选项卡效果(非swiper)
2020/06/19 Javascript
bootstrap table实现点击翻页功能 可记录上下页选中的行
2017/09/28 Javascript
详解搭建es6+devServer简单开发环境
2018/09/25 Javascript
Node.js web 应用如何封装到Docker容器中
2020/09/01 Javascript
原生js实现俄罗斯方块
2020/10/20 Javascript
python 从远程服务器下载日志文件的程序
2013/02/10 Python
python调用java的Webservice示例
2014/03/10 Python
Python中模块pymysql查询结果后如何获取字段列表
2017/06/05 Python
Python中read()、readline()和readlines()三者间的区别和用法
2017/07/30 Python
PyQt5每天必学之布局管理
2018/04/19 Python
Python 获取div标签中的文字实例
2018/12/20 Python
python面试题小结附答案实例代码
2019/04/11 Python
德国网上药房:Apotal
2017/04/04 全球购物
C#中类(class)与结构(struct)的异同
2013/11/03 面试题
环境工程专业个人求职信
2013/12/05 职场文书
十周年庆典策划方案
2014/06/03 职场文书
银行授权委托书样本
2014/10/13 职场文书
会议欢迎词
2015/01/23 职场文书
饭店服务员岗位职责
2015/02/09 职场文书
环卫处个人工作总结
2015/03/04 职场文书
如何让2019年上半年的工作总结更出色!
2019/07/01 职场文书
8g内存用python读取10文件_面试题-python 如何读取一个大于 10G 的txt文件?
2021/05/28 Python
Java 轮询锁使用时遇到问题
2022/05/11 Java/Android