首页 > 代码库 > 正则表达式的基本
正则表达式的基本
今天给大家说一下正则:
正则全程正则表达式,也可以称为规则表达式。英文为:regular expression,简写为reg.
而正则表达式就是和字符串打交道,制定的一系列的规则,这也是他的用法;
特点:性能极高,方便。
正则的写法:
1.传一个参数
var reg = new RegExp(‘要查找的字符串()‘);
str.search(reg);
找不到返回-1;从左往右找一次;区分大小写;
2.传两个参数:
new RegExp(‘要查找的字符串‘,‘g‘);
这里面g代表着: global:全局,全部;
正则的简写:
var reg = //;
一些方法:
str.search(reg);搜索位置;
str.match(reg);匹配对象;
str.replace(reg,‘要替换成的字符‘),或者:str.replace(reg,function(s){ });
reg.test(oTxt.value):检查oTxt.value是否符合需求,符合需求返回true,否则返回false;
||:或者;
|:正则里面的或者;(正则较懒惰,多个或者的时候,只要有一个满足就弹true;)
^:行首;放到[]里面就代表排除;
$:行尾;
一些简写:
i:ignore:忽略
g:global:全局
m:multi-line:多行
关于转义\:
\d:digital:数字
\n:换行;
\s:space:空格;
\w:word:单词;
\D:非数字;
\W:非单词;
\S:非空格;
. :任意东西;
关于[]:
[abc]-->a|b|c;
[1-39]-->1到3,或者9
[a-z]--->a-z 26个小写字母;
[A-Z]--->A-Z 26个大写字母;
[0-9]--->0-9的数字--->\d;
[^0-9]--->非数字;--->\D
[^a-z]--->非小写字母;
[^A-Z]---->非大写字母;
量词:{}
?--->{0,1},可以没有,有最多就只有一个。
{n}:正好n个;/\d{3}/:正好3个数字;
{n,m}最少n个,最多到m个;
{1,}最少1个,最多不限;---> +;
{0,}可以没有,有的话也不限制个数;----> *;
/ab+/--->abbbbbb;
/(ab)+/--->abababab;
+:n多个;
下面分享几个有关正则的实例:
1.校检年龄.html
<script> window.onload=function(){ var oTxt=document.getElementById(‘txt‘); oTxt.oninput=function(){ oTxt.value=http://www.mamicode.com/oTxt.value.replace(/D/,‘‘)"text" name="" id="txt"/> </body>
2.整理格式.html
<script> window.onload=function(){ var oTxt1=document.getElementById(‘txt1‘); var oTxt2=document.getElementById(‘txt2‘); var oBtn=document.getElementById(‘btn‘); oBtn.onclick=function(){ //oTxt2.value=http://www.mamicode.com/oTxt1.value.replace(/^/mg,‘ ‘)"30" rows="10" id="txt1" name=""></textarea> <input type="button" value="http://www.mamicode.com/整理" id="btn"/> <textarea cols="30" rows="10" id="txt2" name=""></textarea> </body>
3.校检汉字.html
<script> window.onload=function(){ var oTxt=document.getElementById(‘txt‘); var oBtn=document.getElementById(‘btn‘); var reg=/^[\u4e00-\u9fa5]{2,6}$/; oBtn.onclick=function(){ alert(reg.test(oTxt.value)) } //var reg=/[^\u4e00-\u9fa5]{2,6}$/***汉字的区间; } </script> </head> <body> <input type="text" name="" id="txt"/> <input type="button" name="" value="http://www.mamicode.com/校检" id="btn"/> </body>
4.检测座机号码.html
<script> window.onload= function () { var oTxt=document.getElementById(‘txt‘); var oBtn=document.getElementById(‘btn‘); var reg=/^(0[1-9]\d{1,2}-)?[1-9]\d{6,7}$/; oBtn.onclick=function(){ alert(reg.test(oTxt.value)) } } </script> </head> <body> <input type="text" name="" id="txt"/> <input type="button" name="" value="http://www.mamicode.com/校检" id="btn"/> </body>
5.输入框只能输入数字.html
<script> window.onload=function(){ var oTxt=document.getElementById(‘txt‘); oTxt.oninput=function(){ oTxt.value=http://www.mamicode.com/oTxt.value.replace(/D/,‘‘)"text" name="" id="txt"/> </body>
6.过滤敏感词1.html
<script> var str=‘我会在你身边你左右 绝不会回头 ,你的一举一动 像心跳 牵动我所有 我会在你生变你左右 绝不会放手 无论昨天今天和以后 一直到尽头 等着我 一定回来 做过了人来人往清风徐来 水波不兴 一次就好我带你去看天荒地老 在阳光灿烂的日子里开怀大笑 我不会走 想起那些每天每天每日每夜的守候 大王叫我巡山 大王叫我来巡山 我把车子开上五环 啊 五环 你死四环多一环 啊 五环 你比六环少一环 终于有一天 你会修到七环 修到七环咋么办 你比五环多两环 when i see you again see you again when i see you again 有些难以启齿的柔弱 只能自己慢慢把握 有时候也偷偷掉眼泪 有时候也会默默认真 想过自己也会有可能 如果上天安排 在爱恨的季节里迷惑 忽然又太多的话 有些难以启齿的柔弱的柔弱 忽然间有一天 你不在我听我诉说 ‘ var reg=/你|太多|一|每天每日每夜|人来人往/g; document.write(str.replace(reg,function(s){ var tmp=‘‘; for(var i=0;i< s.length;i++){ tmp+=‘*‘; } return ‘<span style="color:orangered;">‘+tmp+‘</span>‘ })) </script>
7.首字母大写.html
<script> window.onload=function(){ var str=‘come on baby‘; document.write(str.replace(/\w+/g,function(s){ return s.charAt(0).toUpperCase()+ s.substring(1); })) } </script>
正则表达式的基本
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。