1.)String方法
a.)String.search()
参数:可以是正则表达式也可以是普通的字符串。
返回值:如果找到匹配则返回首字符的索引位置,找不到则返回-1
var s = "Hello world.";
reg = /world/i;            // i表示不区分大小写
alert(s.search(reg));
b.)String.replace()
参数:1.正则表达式 2.用于替换的字串
返回替换后的字符串
var s = "Hello world.World!";
reg = /world/gi;            // g为全局模式,会替换所有匹配
alert(s.replace(reg,'a'));
子表达式(可以通过$n访问括号里匹配的子表达式):
var s = "11 22 33 44 55 66 77!";
reg = /(\S+)(\s+)(\S+)/g;            // i表示不区分大小写
alert(s.replace(reg,'$3$2$1')); //22 11 44 33 66 44 77!
c.)String.match()
把匹配的字符串放到数组里面返回。没有匹配则返回null
//全局模式下,每个匹配放到返回数组里
var s = "我的电话号码0631-1234567 你的是021-87654321,我们常联系啊!";
reg = /(0\d\d-\d{8}|0\d\d\d-\d{7})/g;   // 注意这个正则可能不完整还可能有更简单的写法
alert(s.match(reg)); //0631-1234567,021-87654321
//没有设置g标记时,返回的数组[0]是整体匹配,1-n表示子匹配
var s = "我的工资是$800,她的工资是$400!";
reg = /(\$)(\d+)/;   // $需要\转义
alert(s.match(reg)); //$800,$,800
d.)String.split([分隔符[,返回元素个数限制])
//普通的分割
var s = "我的工资是$800,她的工资是$400!";
alert(s.split(',')[0]); //我的工资是$800
//使用正则
var s = "中国人口达到14亿,人均收入却不到3000美元,所以中国还处于发展中国家!";
alert(s.split(/\d/)); //中国人口达到,亿,人均收入却不到,美元,所以中国还处于发展中国家!
2.)RegExp对象
a.)RegExp.test(str)
绻鹲tr匹配此正则对象则返回true.
var s = "这句话包含数字123用于测试!";
var re=/\d+/;
if(re.test(s))
alert("包含数字");
b.)RegExp.exec()比String.match()更强大
//非全局调用exec,[0]返回匹配,1-n返回子匹配
var s = "数字123,字母abc,下划线_!";
var re=/(\w)\w*/;
alert(re.exec(s));//123,1
alert(re.exec(s).input);//数字123,字母abc,下划线_!
alert(re.exec(s).index);//2
//带全局标记
var s = "数字123,字母abc,下划线_!";
var re=/(\w)\w*/g;
alert(re.lastIndex);//0
alert(re.exec(s));//123,1
alert(re.lastIndex);//5
alert(re.exec(s));//abc,a
alert(re.lastIndex);//11
alert(re.exec(s));//_,_
alert(re.lastIndex);//16
c.)正则表达式构造函数
re = new RegExp("pattern",["flags"])
var s = "数字123,字母abc,下划线_!";
var re=new RegExp("(\\w)\\w*","g");//由于\在引号内也是转义符,所以需要多加一个\
alert(re.exec(s));//123,1

js正则表达式常用的大部分函数的更多相关文章

  1. js正则表达式(常用)

    正则表达式(常用) 写法 js写法 var re = new RegExp("a","i"); perl写法 var re = /a/ ; 量词 {n} 正好出 ...

  2. JS正则表达式常用总结

    正则表达式的创建 JS正则表达式的创建有两种方式: new RegExp() 和 直接字面量. //使用RegExp对象创建 var regObj = new RegExp("(^\\s+) ...

  3. js 数组常用的操作函数整理

    平时多做企业应用开发,抱着实用为主,对前端技术理解得比较肤浅,下面就是肤浅地对 js 数组的属性和方法及对它操作的 jquery 方法做些记录: js 数组是 js 内建的一个非常强大数据类型,由于 ...

  4. 常用js正则表达式大全

    常用js正则表达式大全.一.校验数字的js正则表达式 1 数字:^[0-9]*$ 2 n位的数字:^\d{n}$ 3 至少n位的数字:^\d{n,}$ 4 m-n位的数字:^\d{m,n}$ 5 零和 ...

  5. 常用JS正则表达式

    常用JS正则表达式 收集一些常用的JavaScript正则表达式匹配规则,比如匹配电话号码.Email.中文字符.身份证号.邮编.QQ号.过滤空白行.匹配特定数字等.觉得这玩意是很有用的,只不过自己水 ...

  6. JS通用表单验证函数,基于javascript正则表达式

    表单的验证在实际的开发当中是件很烦琐又无趣的事情今天在做一个小项目的时候,需要JS验证,寻找到一个比较好的东西 地址如下: http://blog.csdn.net/goodfunman/archiv ...

  7. Js中常用的字符串,数组,函数扩展

    由于最近辞职在家,自己的时间相对多一点.所以就根据prototytpeJS的API,结合自己正在看的司徒大神的<javascript框架设计>,整理了下Js中常用一些字符串,数组,函数扩展 ...

  8. js 常用js正则表达式大全

    一.校验数字的js正则表达式   1 数字:^[0-9]*$     2 n位的数字:^d{n}$     3 至少n位的数字:^d{n,}$     4 m-n位的数字:^d{m,n}$     5 ...

  9. 【重温基础】JS中的常用高阶函数介绍

    Ps. 晚上加班到快十点,回来赶紧整理整理这篇文章,今天老大给我推荐了一篇文章,我从写技术博客中收获到了什么?- J_Knight_,感受也是很多,自己也需要慢慢养成记录博客的习惯,即使起步艰难,难以 ...

随机推荐

  1. CocoaPods为多个target添加依赖库/Podfile的配置

    Podfile的相关配置,请看官方文档http://guides.cocoapods.org/syntax/podfile.html 1)多个target公用相同库,还可以添加额外的不同第三方库 编辑 ...

  2. iOS部分页面横屏显示

    在iOS系统支持横屏顺序默认读取plist里面设置的方向(优先级最高)等同于Xcode Geneal设置里面勾选application window设置的级别次之 然后是UINavigationcon ...

  3. Bugku杂项(1—28)

    1.签到题 只要关注公众号就可以得到 flag---开胃菜 2.这是一张单纯的图片 用Winhex打开,会发现最下面有一行编码: key{you are right} 是一串HTML编码,解密下就行了 ...

  4. 干货 | TiDB Operator实践

    干货 | TiDB Operator实践 北京it爷们儿 京东云开发者社区  4天前 K8s和TiDB都是目前开源社区中活跃的开源产品,TiDB Operator项目是一个在K8s上编排管理TiDB集 ...

  5. linux-线程同步之信号量

    1.任务:用户从终端输入任意字符然后统计字符个数显示,输入end则结束 2.使用多线程实现:主线程获取用户输入并判断是否退出,子线程计数 #include <stdio.h> #inclu ...

  6. h5-语义化标签的兼容性问题

    1.html代码 <header>头</header> <nav>导航栏</nav> <main> <article>左< ...

  7. Python笔记_第四篇_高阶编程_进程、线程、协程_2.线程

    1. 线程概述: 在一个进程的内部,要同时干多件事情,就需要同时运行“多个子任务”,我们把进程内的这些“子任务”叫做线程.也就说线程是进程成的子任务. 线程通常叫做情景的进程.线程是通过向内侧控件的并 ...

  8. tensorflow slim训练以及到安卓部署教程

    https://blog.csdn.net/chenyuping333/article/details/81537551 https://blog.csdn.net/u012328159/articl ...

  9. 第一章 mysql 的架构与历史

    一.mysql 的逻辑架构 1.连接管理与安全性 2.优化与执行 二.并发控制 1.读写锁 2.锁粒度 三.事物 1.隔离级别 2.死锁 3.事物日志 四.多版本并发控制 五.Mysql 的存储引擎

  10. 利用 wave 库 对音频进行格式处理

    import wave r = r"D:\沫沫酱 - 旧伤口.wav" # 一个.wav格式文件 with wave.open(r, "rb") as f: # ...