定义正则:

var reg = new RegExp('a'); //实例化对象,参数是我们想要制定的规
var reg = /a/;  //简写方法

正则的常用方法:

  1、test():在字符串中查找符合正则的内容,查找到返回true,反之返回false

    用法:正则.test(字符串);

    例子:判断是否是数字

var str = '12345678';
var reg = /\D/; // \D代表非数字
if(reg.test(str)){
alert('不全是数字');
}else{
alert('全是数字');
}

  2、search():在字符串中搜索符合正则的内容,搜索到就返回出现的位置(从0开始,若搜索到的不只是一个字母,则返回第一个字母的位置),反之返回-1

    用法:字符串.search(正则)

var str = 'webrty';
var reg = /B/i; //i表示不区分大小写
console.log(str.search(reg)); //返回2

  3、match():在字符串中搜索符合正则的内容,匹配成功就返回内容,格式为数组,失败则返回null

    用法:字符串.match(正则);   

var str = 'as123msd8xx29shdkdk220nm';
var reg = /\d+/g; //匹配至少一个数字, g表示全局匹配
console.log(str.match(reg)); // ["123", "8", "29", "220"]

  4、replace():查找符合正则的字符串,替换成对应的字符串,返回替换后的内容

    用法:字符串.replace(正则,新的字符串/回调函数); (在回调函数中,第一个参数是指匹配到的第一个字符) 

    例子:敏感词过滤

var str = '吃葡萄不吐葡萄皮';
var reg = /葡萄|皮/g; //匹配葡萄或皮 , 全局匹配
var str2 = str.replace(reg,'*');
console.log(str2); //吃*不吐**

  想要实现几个字对应几个*,可以用回调函数

var str = '吃葡萄不吐葡萄皮';
var reg = /葡萄|皮/g; //匹配葡萄或皮 , 全局匹配
var str2 = str.replace(reg,function(str){
//str 参数第一次指的是葡萄,第二次指的是葡萄,第三次指的是皮
var result = '';
for(var i=0;i<str.length;i++){
result += '*';
}
return result;
});
console.log(str2); //吃**不吐***

字符:

^:匹配字符串的开始位置

$:匹配字符串的结束位置

*:匹配前面子表达式任意次数

+:匹配前面子表达式一次或多次

?:匹配前面子表达式0次或多次

. :匹配任何单个字符

{n}:n为非负整数,匹配确定的n次。例如:“o{2}”不能匹配‘bod’中的‘o’ ,但能匹配‘food’中的‘0’

{n,}:至少匹配n次

{n,m}:最少匹配n次,最多匹配m次

x|y:匹配x或y

[xyz]:字符集合。匹配任意一个字符。例如‘[abc]’ 匹配 ‘plain’ 中的 ‘a’

[^xyz]:匹配未包含的任意字符。例如‘[^abc]’ 匹配 ‘plain’ 中的 ‘plin’

\b:匹配单词边界。例如‘er\b’ 可以匹配‘nerver’ 中的‘er’ ,但不能匹配 ‘verb’中的‘er’

\B:匹配非单词边界

\d:匹配一个数字字符,同[0-9]

\D:匹配一个非数字字符,同[^0-9]

\n:匹配一个换行符

\r:匹配一个回车符

\s:匹配任何不可见字符,如空格

\S:匹配任何可见字符

\w:匹配任何包括下划线的单词字符

\W:匹配任何非单词字符

/.../g: 全局匹配

/.../i:  忽略大小写

js正则表达式(1)的更多相关文章

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

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

  2. 使用外部web组件-----easyUI、jQueryUI、Bootstrap、js正则表达式

    1.使用外部web组件,以Bootstrap为例 <head> <link rel='stylesheet'  href='bootstrap-3.3.0-dist/dist/css ...

  3. js正则表达式图形化工具-rline

    github地址:https://github.com/finance-sh/rline 在线demo: http://lihuazhai.com/demo/test.html 这是一个js正则表达式 ...

  4. Python之路-(js正则表达式、前端页面的模板套用、Django基础)

    js正则表达式 前端页面的模板套用 Django基础 js正则表达式: 1.定义正则表达式 /.../  用于定义正则表达式 /.../g 表示全局匹配 /.../i 表示不区分大小写 /.../m ...

  5. JS正则表达式大全

    转自:http://wenku.baidu.com/link?url=3y930kC7F6D3wQdMjQ3fVDmiA9Wfebs_QK0UB3N3mFaEoKg4ytZORPopxufeYA6si ...

  6. js正则表达式replace里有变量的解决方法用到RegExp类

    一直比较害怕使用正则表达式,貌似很深奥很复杂的样子,所以在用js操作字符串的时候,我最多使用的是replace.split.substring.indexOf等函数,这些函数有时候需要多次叠加使用,但 ...

  7. JS正则表达式验证账号、手机号、电话和邮箱

    JS正则表达式验证账号.手机号.电话和邮箱 效果体验:http://keleyi.com/keleyi/phtml/jstexiao/15.htm 验证帐号是否合法 验证规则:字母.数字.下划线组成, ...

  8. 初识JS正则表达式

    初识JS正则表达式 看到的使用的正则表达式练习:http://www.cnblogs.com/wenanry/archive/2010/09/06/1819552.html PS:本文参考李炎恢JS笔 ...

  9. 常用JS正则表达式

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

  10. JS正则表达式大全(整理详细且实用)

    JS正则表达式大全(整理详细且实用).需要的朋友可以过来参考下,希望对大家有所帮助!! 正则表达式中的特殊字符 字符 含意 \ 做为转意,即通常在"\"后面的字符不按原来意义解释, ...

随机推荐

  1. 解决NSTimer存在的内存泄漏的问题

    创建定时器会在一定的间隔后执行某些操作,一般大家会这样创建定时器,这样创建的定时,self对定时器有个引用,定时器对self也有个引用,造成了循环引用,最终造成了内存泄漏,如果定时器在做下载的操作就会 ...

  2. iOS从零开始学习直播之音频4.歌词

      上一篇讲了歌曲的切换,这一篇主要讲歌词部分的实现.   先看效果图.当歌手唱到这句歌词时候,我们要标记出来,这里显示字体为黄色. 1.获取歌词   一般歌词都是一个链接.类似于"http ...

  3. php 学习路线图

  4. 常见排序算法(附java代码)

    常见排序算法与java实现 一.选择排序(SelectSort) 基本原理:对于给定的一组记录,经过第一轮比较后得到最小的记录,然后将该记录与第一个记录的位置进行交换:接着对不包括第一个记录以外的其他 ...

  5. js图片前端预览之 filereader 和 window.URL.createObjectURL

    //preview img : filereader方式 document.getElementById('imgFile').onchange = var ele = document.getEle ...

  6. ASP.NET MVC 5 04 - 控制器

    PS: 唉.本来这一篇前几天早就应该发了的,可是谁每月没有那么几天啊... 呵呵.开个玩笑.反正就是各种烦气,所以也就一直没上来继续发了. 年底了,摆正一下心态吧.好好干,整点钱,过年回家能跟亲朋好友 ...

  7. lucky 的 时光助理(2)

    lucky小姐说:昨天晚上他喝醉了,发消息说他想我了,说他后悔了. 我很惊讶. 我问lucky:你们很久都没有联系, 突然说... 你怎么想. 没错,'他'就是lucky的前男友. lucky看着我, ...

  8. zabbix 中监控windows 的typepref中的值

    监控项:typepref -qx在zabbix中实现: 1.测试zabbix-get 获取数据: /usr/local/zabbix/bin/zabbix_get -s 192.168.1.3 -p1 ...

  9. 【java开发】ubuntu常用命令及环境搭建

    学习第一天,今天内容相对简单,主要就是ubuntu一些常用命令及常规操作,后续涉及到环境的搭建,也会在本文再更. ubuntu环境搭建 第一种 也是最简单最方便的 通过vm虚拟机软件,下载iso镜像进 ...

  10. HTTP Method 之 Post VS. Get

    引言 WebAPI 现在非常火的轻量服务框架,因其使用得使用了Http协议,并且具备了可协商内容(生成不同内容格式)等优势,所以在互联网业务中被广泛使用. 那作为HTTP最常用的两个方法Get和Pos ...