JavaScript正则表达式
2017-02-09 21:17
316 查看
\n 换行符
\s 空格
\S 非空格
\d 数字
\D 非数字
\w 字符(包含字母,数字和下划线)
\W 非字符
常用的正则表达式匹配:
匹配中文:[\u4e00-\u9fa5]
行首行尾空格:^\s*|\s*Email:\w+@[a−z0−9]+(.[a−z]+)1,3
网址:[a-zA-z]+://[^\s]*
QQ号:[1-9][0-9]{4,9}
邮政编码:[1-9]\d{5}
身份证:[1-9]\d{14}|[1-9]\d{17}[1-9]\d{16}x
在正则表达式的使用中常用到:
indexOf 查找
substring 获取子字符串
charAt 获取某个字符
split 分割字符串,获取数组
正则表达式的方法:
1.正则.test(字符串)返回布尔值,用作判断
2.字符串.search(正则)返回匹配成功位置
3.str.match(正则)。匹配字符串,成功返回数组,失败返回null
4.字符串.replace(正则,新的字符) 。正则匹配,如果成功就把匹配成功的字符替换成新的字符。
正则表达式的范围
^写在正则最前面表示起始必须为
$写在正则的最后表示结束必须为
正则表达式的例子
这里面
\b
/<(\w|\/)[^<]+>/g的用法也不是很清楚希
\s 空格
\S 非空格
\d 数字
\D 非数字
\w 字符(包含字母,数字和下划线)
\W 非字符
常用的正则表达式匹配:
匹配中文:[\u4e00-\u9fa5]
行首行尾空格:^\s*|\s*Email:\w+@[a−z0−9]+(.[a−z]+)1,3
网址:[a-zA-z]+://[^\s]*
QQ号:[1-9][0-9]{4,9}
邮政编码:[1-9]\d{5}
身份证:[1-9]\d{14}|[1-9]\d{17}[1-9]\d{16}x
在正则表达式的使用中常用到:
indexOf 查找
var str ="Hello world!" alert(str.indexOf("Hello") alert(str.indexOf("World") alert(str.indexOf("world") 弹出结果就为 0 -1 6
substring 获取子字符串
var str ="hello world" alert(str.substring(3,6)) 弹出 lo w
charAt 获取某个字符
var str ="hello world" alert(str.charAt(3)) 弹出 l
split 分割字符串,获取数组
var str="How are you doing today?" document.write(str.split(" ") + "<br />") document.write(str.split("") + "<br />") document.write(str.split(" ",3)) 输出 How,are,you,doing,today? H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,? How,are,you
正则表达式的方法:
1.正则.test(字符串)返回布尔值,用作判断
var str = 'abcdef'; var re = /b/; //里面是个整体,如果是bd则是假 alert(re.test(str));
2.字符串.search(正则)返回匹配成功位置
var str ="abcdef"; var re =/B/i //不区分大小写则加i alert(str.search(re)) 弹出 1
3.str.match(正则)。匹配字符串,成功返回数组,失败返回null
str.match(/\d+/g) //g是全剧匹配 +是至少出现一次
4.字符串.replace(正则,新的字符) 。正则匹配,如果成功就把匹配成功的字符替换成新的字符。
var str ="abcdef"; var re =/a/; alert(str.replace(re,"b")); 弹出 bbcdef
正则表达式的范围
^写在正则最前面表示起始必须为
$写在正则的最后表示结束必须为
正则表达式的例子
<title>无标题文档</title> <style type="text/css"> textarea{width:300px; height:500px;} </style> </head> <body> <textarea id="text1"></textarea> <input type="button" id="btn1" value="转换" class="box box1 box2"/> <textarea id="text2"></textarea> <script> var str = 'haj123sdk54hask33dkhalsd879'; //在str中找出数字放在数组中 function findNum(str){ var arr = [];var tmp = ''; for(var i=0;i<str.length;i++){ if( str.charAt(i)<='9' && str.charAt(i)>='0' ){ tmp += str.charAt(i);} else{if(tmp){ arr.push(tmp);tmp = ''; } } } if(tmp){ arr.push(tmp);tmp = ''; } return arr; } //用正则表达式找到数字放在数组里 function findNum(str){ return str.match(/\d+/g); } alert(findNum(str)); //几种简单的创建数组和对象的方法 var arr=[]; var arr = new Array(); var obj ={}; var obj = new Object(); var re = /a/; var re = new RegExp('a'); //正则匹配失败返回布尔值为0 var str = 'abcdef'; var re = /abd/; //里面是个整体,如果是bd则是假 alert(re.test(str)); //\D为非数字的正则匹配,结果为0 var str = '37482t9348791'; var re = /\D/; alert(!re.test(str)); //不分大小写,匹配b返回b的位置 var str = 'abcdef'; var re = /B/i; alert(str.search(re)); var oText1 = document.getElementById('text1'); var oText2 = document.getElementById('text2'); var oBtn = document.getElementById('btn1'); //剔除敏感词 oBtn.onclick = function(){ var str = oText1.value; var re = /公安部|斧子|死亡|服毒身亡/g; str = str.replace(re,function(a){ var num = ''; for(var i=0;i<a.length;i++){ num+='*'; } return num; }); oText2.value = str; } alert(str); //把-变成.变成2013.6.7 //s0为3- 6- s1是3 6 s2是- var str = '2013-6-7'; var re = /(\d)(-)+/g; str = str.replace(re,function($0,$1,$2){ //alert($0); return $1+'.'; }) alert(str); //正则表达式是的分组处理 var str = 'abc'; var re = /(a)(b)(c)/; alert(str.match(re)); //[]里面是或者的关系返回的布尔值为1 var str = 'abc'; var re = /a[bde]c/; alert(re.test(str)); //^表示排除的意思 返回的布尔值为0 var str = 'abc'; var re = /a[^bde]c/; alert(re.test(str)); //[a-z]表示从a到z中都可以。返回的布尔值1 var str = 'abc'; var re = /a[a-z]c/; alert(re.test(str)); //<h3>标题</h3>aaaaa //替换成标题aaaaa oBtn.onclick = function(){ var str = oText1.value; var re = /<(\w|\/)[^<]+>/g; str = str.replace(re,''); alert(str); } //匹配开头为数字或者结尾是数字的内容替换成空。 oBtn.onclick = function(){ var str = oText1.value; var re = /^\d+|\d+$/g; str = str.replace(re,''); alert(str); } //匹配独立部分 var str='onetwo'; var re =/two\b/; alert(re.test(str)); var re = /\w\w/; var re = /(\w)\1/; </script> </body> </html>
这里面
\b
/<(\w|\/)[^<]+>/g的用法也不是很清楚希
相关文章推荐
- 正则表达式在javascript和java中如何使用
- Javascript 正则表达式
- 用实例浅谈Javascript正则表达式
- javascript的正则表达式
- JavaScript--正则表达式
- 正则表达式例子(Javascript版本)
- javascript中replace与正则表达式
- 正则表达式在javascript中的几个实例1(转)
- javascript(六)正则表达式
- JavaScript正则表达式
- JavaScript 学习笔记 六 正则表达式《三》
- javascript 正则表达式
- javascript正则表达式
- javascript 验证日期时间的正则表达式
- javascript-正则表达式
- JavaScript的学习--正则表达式
- javascript入门基础篇重点 第十六节----正则表达式
- 正则表达式(javascript)
- 详细的身份证号码验证(JavaScript正则表达式)