正则表达式中特殊符号及正则表达式的几种方法总结(replace,test,search)


Posted in Javascript onNovember 26, 2013

一 正则表达式的正文。
正则表达式中使用了特殊符号。下面我就将各种符号以及其意义和用法简单的介绍一下(说明:"X以上包括X"):

/ 表示在其后的文字是特殊符号。例:"n"和"n"是一致的。"/n"和换行符是一致的。
^ 和输入的开始一致。
$ 和输入的结尾一致。
* 与此符号之前的文字0次以上相同的话,两者一致。例:"zo*"和"zoo","z"都一致。
+ 与此符号之前的文字1次以上相同的话,两者一致。例:"zo*"和"zoo"一致,但和"z"不一致。
? 与此符号之前的文字0次或1次相同的话,两者一致。例:"a?ve?"和"never"的"ve"一致。
. 与除了换行符的所有单一文字一致。
(正则表达式) 以所指定的表达式寻找一致文字。如果找到了,储存下来。一致的部分可以从
Match方法获得的阵列中找到。
x|y x和y的任意一方相同都会被认为一致。例:"(z|f)ood"和"zood","food"都一致。
{n} n是0以上的整数。与其前的文字n次相同的话,两者一致。例:"o{2}"和"Bob"中的"o"不一
致,与"foooood"中的前两个"o"一致。
{n,} n是0以上的整数。与其之前的文字至少n次相同才一致。
{n,m} 两者整数。n至m范围的次数一致。
[xyz] 与中括号中的文字任意一个相同都被认为一致。
[^xyz] 与上面的相反。
[a-z] 文字的范围,从"a"到"z"的文字都被认为一致。
[^a-z] 与上面的相反。
/b 表示单词的末尾。例:"er/b"和"never"的"er"一致,但和"verb"的"er"不一致。
/B 表示非单词的末尾。
/d 表示数字。
/D 表示非数字。
/s 表示空格。
/S 表示非空格。
/w 表示所有字母数字。
/W 表示非所有字母数字。

   i   (忽略大小写)  
  g   (全文查找出现的所有   pattern)  
  gi   (全文查找、忽略大小写)
/num num应该被赋予一个正数。与已经储存的部分比较。例:"(.)/1"和任意的两个连续的相同
文字一致。

二 如何定义一句正文:
方法一:直接写
var s=/正则表达式/i或g或ig

方法二:建立对象实例:
var s=new RegExp(正则表达式,i或g或ig)

三 与正则表达式有关的方法:

1 exec方法
描述: 在制定的文字行内进行搜索。
结构: 正则表达式.exec(字符串)。
解说: 检索的返回:
null 没有检索到;
一致的结果 检索到后;
例:
代码片段如下:
<script>
var s='AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPp'
var r=new RegExp('g','i');
var a=r.exec(s);
alert(a);
</script>

2 compile方法:
描述: 修改正则表现的内部形式。
结构: 正则表达.compile('正文','g或i或ig')。
解说: 没什么好说的。
例:
代码片段如下:
<script>
var s='AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPp'
var r=new RegExp('[A-Z]','g');
var a=s.match(r);
alert(a);
r.compile('[a-z]','g');
var a=s.match(r);
alert(a);
</script>

3 test方法:
描述: 顾名思义,做测验。
结构: 正则表达.test(字符串)。
解说: 返回:
false 没找到;
true 找到了;
例:
代码片段如下:
<script>
var re=/re/g;
var msg='return';
var msg1='goon';
alert(re.test(msg));
alert(re.test(msg1));
</script>

4 replace方法:
描述: 寻找一致的并置换他。
结构: 字符串.replace(正则表达,替换字符串)。
解说: 与字符串不变化,返回其副本。
例:
代码片段如下:
<script>
var s='AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPp'
var r=new RegExp('[A-Z]','g');
var a=s.replace(/[a-z]/g,'A');
alert(a);
</script>

5 match方法:
描述: 实行检索。
结构: 字符串.match(正则表达)。
解说: 返回数列。
例:
代码片段如下:
<script>
var re=/re/g;
var msg='rererere';
var msg1='goon';
alert(msg.match(re));
alert(msg1.match(re));
</script>

6 split方法:
描述: 分割字符串。
结构: 字符串.split(正则表达)。
解说: 返回数列。
例:
代码片段如下:
<script>
var s="hello this good world";
var p=//s/g;
var a=s.split(p);
alert(a);
</script>

7 search方法:
描述: 返回一致的字符串的位置。(这比indexOf可用途广多了!)
结构: 字符串.search(正则表达)。
解说: 返回
正整数 如果找到了
-1 如果没找到
例:
代码片段如下:
<script>
var s="hello this good world";
var p=/good/g;
var a=s.search(p);
alert(a);
</script>

把replace的方法的例子改一下:
代码片段如下:
<script>
var s="hellOSCF";
var r=new RegExp("[A-Z]","g");
s=s.replace(r,"a");
alert(s)
</script>

最后是他的各种属性

1 lastIndex属性:
描述: 设定检索开始的位置,可以得到其值
结构: 正则表达.lastIndex(=值).
解说:
当lastIndex大于检索文字长度的时候,如果用test,exec方法执行的话,执行失败,
lastIndex属性被设定为0.
当lastIndex等于检索文字长度的时候,如果表达式正文是空的话,一致.其他场合,
执行失败,重设为0.
上记以外的情况,lastIndex会被设定为最后一致的文字列的位置指针.

2 source属性
描述: 返回正则表达的正文
结构: 正则表达.source
例:
代码片段如下:
<script>
var s=/[a-z]{3}/W/s/g;
var s1=new RegExp("[a-z]{3}/W","g");
alert(s.source);
alert(s1.source);
</script>

下面我将几个处理字符函数写出来:

1 严禁数字
代码片段如下:
function check(msg){
var exe=//d/g;
if(exe.test(msg))return(0);
else return(1)
}

2 只准字母
代码片段如下:
function check(msg){
var exe=//W/g;
if(exe.test(msg))return(0);
else return(1);
}

3 严禁代码
代码片段如下:
function check(msg){
var exe=/<(/w|/W)*>/g;
if(exe.test(msg))return(0);
else return(1);

Javascript 相关文章推荐
JavaScript窗口功能指南之在窗口中书写内容
Jul 21 Javascript
jQuery前端框架easyui使用Dialog时bug处理
Dec 05 Javascript
使用javascript实现json数据以csv格式下载
Jan 09 Javascript
JavaScript框架是什么?怎样才能叫做框架?
Jul 01 Javascript
jquery mobile 实现自定义confirm确认框效果的简单实例
Jun 17 Javascript
JS实现将Asp.Net的DateTime Json类型转换为标准时间的方法
Aug 02 Javascript
禁用backspace网页回退功能的实现代码
Nov 15 Javascript
JS实现复制内容到剪贴板功能
Feb 05 Javascript
jQuery Ajax前后端使用JSON进行交互示例
Mar 17 Javascript
jQuery中库的引用方法
Jan 06 jQuery
解决循环中setTimeout执行顺序的问题
Jun 20 Javascript
详解如何模拟实现node中的Events模块(通俗易懂版)
Apr 15 Javascript
jquery简单实现滚动条下拉DIV固定在头部不动
Nov 25 #Javascript
整理的比较全的event对像在ie与firefox浏览器中的区别
Nov 25 #Javascript
ie与ff下的event事件使用介绍
Nov 25 #Javascript
javascript利用apply和arguments复用方法
Nov 25 #Javascript
javascript模拟实现C# String.format函数功能代码
Nov 25 #Javascript
js给onclick赋值传参数的两种方法
Nov 25 #Javascript
自己动手实现jQuery Callbacks完整功能代码详解
Nov 25 #Javascript
You might like
深入解析php中的foreach函数
2013/08/31 PHP
php更新修改excel中的内容实例代码
2014/02/26 PHP
PHP使用CURL实现对带有验证码的网站进行模拟登录的方法
2014/07/23 PHP
基于jquery的让textarea自适应高度的插件
2010/08/03 Javascript
给html超链接设置事件不使用href来完成跳
2014/04/20 Javascript
jQuery实现的感应鼠标悬停图片色彩渐显效果
2015/03/03 Javascript
详解jQuery Mobile自定义标签
2016/01/06 Javascript
jquery获取所有选中的checkbox实现代码
2016/05/26 Javascript
JS获取字符串实际长度(包含汉字)的简单方法
2016/08/11 Javascript
JS实现一次性弹窗的方法【刷新后不弹出】
2016/12/26 Javascript
ES6新特性之函数的扩展实例详解
2017/04/01 Javascript
微信小程序 图片宽度自适应的实现
2017/04/06 Javascript
详解nodejs的express如何自动生成项目框架
2017/07/12 NodeJs
jQuery实现table中两列CheckBox只能选中一个的示例
2017/09/22 jQuery
Nuxt配合Node在实际生产中的应用详解
2018/08/07 Javascript
layui 设置table 行的高度方法
2018/08/17 Javascript
Vue的双向数据绑定实现原理解析
2020/02/17 Javascript
Vue+tracking.js 实现前端人脸检测功能
2020/04/16 Javascript
angula中使用iframe点击后不执行变更检测的问题
2020/05/10 Javascript
Python+django实现文件上传
2016/01/17 Python
Flask框架学习笔记之模板操作实例详解
2019/08/15 Python
如何基于python3和Vue实现AES数据加密
2020/03/27 Python
使用 django orm 写 exists 条件过滤实例
2020/05/20 Python
Python叠加矩形框图层2种方法及效果
2020/06/18 Python
python中常用的数据结构介绍
2021/01/12 Python
美国娱乐和流行文化商品店:FYE
2017/09/14 全球购物
中国茶叶、茶具一站式网上购物商城:醉品茶城
2018/07/03 全球购物
Perfume’s Club中文官网:西班牙美妆在线零售品牌
2020/08/24 全球购物
大学生党员自我批评思想汇报
2014/10/10 职场文书
2014年出纳工作总结与计划
2014/12/09 职场文书
2014年政教处工作总结
2014/12/20 职场文书
党员自我评价范文2015
2015/03/03 职场文书
主持人大赛开场白
2015/05/29 职场文书
烈士陵园扫墓感想
2015/08/07 职场文书
浅析InnoDB索引结构
2021/04/05 MySQL
Python线程池与GIL全局锁实现抽奖小案例
2022/04/13 Python