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 相关文章推荐
对采用动态原型方式无法展示继承机制得思考
Dec 04 Javascript
常用js字符串判断方法整理
Oct 18 Javascript
jquery中的ajax方法怎样通过JSONP进行远程调用
May 04 Javascript
Javascript动态引用CSS文件的2种方法介绍
Jun 06 Javascript
js简单实现表单中点击按钮动态增加输入框数量的方法
Aug 18 Javascript
javascript判断复选框是否选中的方法
Oct 16 Javascript
bootstrap paginator分页前后台用法示例
Jun 17 Javascript
一步步教会你微信小程序的登录鉴权
Apr 09 Javascript
小程序实现悬浮搜索框
Jul 12 Javascript
javascript实现商品图片放大镜
Nov 28 Javascript
js实现div色块碰撞
Jan 16 Javascript
DWR内存兼容及无法调用问题解决方案
Oct 16 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读取csv文件内容的详解
2013/06/18 PHP
php绘图之加载外部图片的方法
2015/01/24 PHP
浅析THINKPHP的addAll支持的最大数据量
2015/02/03 PHP
PHP使用Curl实现模拟登录及抓取数据功能示例
2018/04/27 PHP
Laravel5.4简单实现app接口Api Token认证方法
2019/08/29 PHP
DOM Scripting中的图片切换[兼容Firefox]
2010/06/12 Javascript
instanceof和typeof运算符的区别详解
2014/01/06 Javascript
ExtJS判断IE浏览器类型的方法
2014/02/10 Javascript
javascript模拟post提交隐藏地址栏的参数
2014/09/03 Javascript
a标签的href与onclick事件的区别详解
2014/11/12 Javascript
javascript中Number对象的toString()方法分析
2014/12/20 Javascript
js和jquery分别验证单选框、复选框、下拉框
2015/12/17 Javascript
webpack入门+react环境配置
2017/02/08 Javascript
将angular.js项目整合到.net mvc中的方法详解
2017/06/29 Javascript
浅谈vuex之mutation和action的基本使用
2017/08/29 Javascript
webpack4 处理SCSS的方法示例
2018/09/03 Javascript
在vue中v-bind使用三目运算符绑定class的实例
2018/09/29 Javascript
微信小程序解析富文本过程详解
2019/07/13 Javascript
JS实现简单随机3D骰子
2019/10/24 Javascript
详解Python之数据序列化(json、pickle、shelve)
2017/03/30 Python
Python爬虫的两套解析方法和四种爬虫实现过程
2018/07/20 Python
python实现梯度下降算法
2020/03/24 Python
python如何实现一个刷网页小程序
2018/11/27 Python
Python如何读写二进制数组数据
2020/08/01 Python
pycharm 配置svn的图文教程(手把手教你)
2021/01/15 Python
SmartBuyGlasses德国:购买太阳镜和眼镜
2019/08/20 全球购物
食堂员工工作职责
2013/12/18 职场文书
高中军训感言500字
2014/02/24 职场文书
财务部副经理岗位职责
2014/03/14 职场文书
高中生旷课检讨书
2014/10/08 职场文书
乡镇民主生活会发言材料
2014/10/20 职场文书
干部作风建设年活动剖析材料
2014/10/23 职场文书
长征观后感
2015/06/09 职场文书
铁人观后感
2015/06/16 职场文书
教你做个可爱的css滑动导航条
2021/06/15 HTML / CSS
服务器SVN搭建图文安装过程
2022/06/21 Servers