js正则表达式(1)
定义正则:
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)的更多相关文章
- JS正则表达式常用总结
正则表达式的创建 JS正则表达式的创建有两种方式: new RegExp() 和 直接字面量. //使用RegExp对象创建 var regObj = new RegExp("(^\\s+) ...
- 使用外部web组件-----easyUI、jQueryUI、Bootstrap、js正则表达式
1.使用外部web组件,以Bootstrap为例 <head> <link rel='stylesheet' href='bootstrap-3.3.0-dist/dist/css ...
- js正则表达式图形化工具-rline
github地址:https://github.com/finance-sh/rline 在线demo: http://lihuazhai.com/demo/test.html 这是一个js正则表达式 ...
- Python之路-(js正则表达式、前端页面的模板套用、Django基础)
js正则表达式 前端页面的模板套用 Django基础 js正则表达式: 1.定义正则表达式 /.../ 用于定义正则表达式 /.../g 表示全局匹配 /.../i 表示不区分大小写 /.../m ...
- JS正则表达式大全
转自:http://wenku.baidu.com/link?url=3y930kC7F6D3wQdMjQ3fVDmiA9Wfebs_QK0UB3N3mFaEoKg4ytZORPopxufeYA6si ...
- js正则表达式replace里有变量的解决方法用到RegExp类
一直比较害怕使用正则表达式,貌似很深奥很复杂的样子,所以在用js操作字符串的时候,我最多使用的是replace.split.substring.indexOf等函数,这些函数有时候需要多次叠加使用,但 ...
- JS正则表达式验证账号、手机号、电话和邮箱
JS正则表达式验证账号.手机号.电话和邮箱 效果体验:http://keleyi.com/keleyi/phtml/jstexiao/15.htm 验证帐号是否合法 验证规则:字母.数字.下划线组成, ...
- 初识JS正则表达式
初识JS正则表达式 看到的使用的正则表达式练习:http://www.cnblogs.com/wenanry/archive/2010/09/06/1819552.html PS:本文参考李炎恢JS笔 ...
- 常用JS正则表达式
常用JS正则表达式 收集一些常用的JavaScript正则表达式匹配规则,比如匹配电话号码.Email.中文字符.身份证号.邮编.QQ号.过滤空白行.匹配特定数字等.觉得这玩意是很有用的,只不过自己水 ...
- JS正则表达式大全(整理详细且实用)
JS正则表达式大全(整理详细且实用).需要的朋友可以过来参考下,希望对大家有所帮助!! 正则表达式中的特殊字符 字符 含意 \ 做为转意,即通常在"\"后面的字符不按原来意义解释, ...
随机推荐
- Appfuse:权限控制
Appfuse的权限控制依赖于Struts的Menu机制,common下的menu.jsp是对菜单顺序的定义,详细的菜单项和菜单链接及权限再menu-config.xml中控制,如下: <Men ...
- Java连接数据库的辣几句话
Java连接数据库的辣几句话 1.java连接Oracle数据库 使用以下代码三个步骤: 1.下载ojdbc.jar包并导入项目中.附下载地址:http://download.csdn.net/det ...
- [Erlang 0129] Erlang 杂记 VI
把之前阅读资料的时候记下的东西,整理了一下. Adding special-purpose processor support to the Erlang VM P23 简单介绍了Erlang C ...
- node.js express 4.x 安装指南
前几天express 推出了4.0,得知这个消息,自己尝试了一下,突然发现用以前的文档上的操作出现了各种问题.结果只能去看文档,现在在这个给大家分享下4.0版本的安装. 先说下如果需要用express ...
- excel基本
1,换行:control+option(alt)+enter
- 嵌入式Linux驱动学习之路(二十六)DM9000C网卡驱动程序
基于DM9000C的原厂代码修改dm9000c的驱动程序. 首先确认内存的基地址 iobase. 确定中断号码. 打开模块的初始化函数定义. 配置内存控制器的相应时序(结合DM9000C.C的手册). ...
- [No000090]C#捕获控制台(console)关闭事件及响应cmd快捷键
捕获控制台(console)关闭事件: 1.Ctrl+C信号: 2.Ctrl+Break信号: 3.用户系统关闭Console时: 4.用户退出系统时: 5.系统将要关闭时: using System ...
- mybatis关联映射
多对一: <!-- 方法一: --> <select id="getNewsListByPage" parameterType="com.zqc.sha ...
- codevs 1052 地鼠游戏
1052 地鼠游戏 http://codevs.cn/problem/1052/ 题目描述 Description 王钢是一名学习成绩优异的学生,在平时的学习中,他总能利用一切时间认真高效地学习,他不 ...
- java web后台开发SSM框架(Spring+SpringMVC+MyBaitis)搭建与优化
一.ssm框架搭建 1.1创建项目 新建项目后规划好各层的包. 1.2导入包 搭建SSM框架所需包百度云链接:http://pan.baidu.com/s/1cvKjL0 1.3整合spring与my ...