js中的正则

| : 或的意思 ,意味着你想匹配的关键词为多个,并且都是你想要的

如:

var str= ‘菲称仁爱礁附近17艘中国船均在菲军监视之下‘

var re = /菲称|中国船|监视之下/g;

str.replace(re,function(str){}

**仁爱礁附近17艘***均在菲军****

//匹配子项 : 小括号 () (还有另外一个意思,分组操作)

//1+1*2

//(1+1)*2

//把正则的整体叫做(母亲)

//然后把左边第一个小括号里面的正则,叫做这个第一个子项(母亲的第一个孩子)

//第二个小括号就是第二个孩子

var str = ‘2013-6-7‘;

var re = /(\d+)(-)/g;

str = str.replace(re,function($0,$1,$2){

//第一个参数:$0(母亲),第二个参数 : $1(第一个孩子)

//,第二个参数 : $1(第二个孩子)

alert( $0 );

// alert( $1 );

// alert( $2 );

//return $1 + ‘.‘;

return $0.substring(0,$0.length-1) + ‘.‘;

});

第一次alter 弹出 “2013-“ 第二次弹出“6-”  其中第一次的$1为2013 $2为-   第二次的$1为6 $2为- 这才是匹配子项的含意

var str = ‘abc‘;

var re = /(a)(b)(c)/;

alert( str.match(re) ); //[abc,a,b,c](当match不加g的时候才可以获取到子项的集合)

var kwords=str.match(reg);
1. reg不加g,match也只找第一个
何时使用: 希望获得第一个关键词的内容和位置时
返回值: 数组,其中包含找到的关键词内容
kwords:["关键词"]
kwords.index->关键词的位置 如果没找到,返回null!
2. reg加g,match会找到所有关键词的内容
何时使用: 希望获得所有关键词的内容时
返回值: 数组,包含了所有关键词的内容
数组的length属性,记录了所有关键词个数
缺点: 只能找到所有关键词的内容,无法找到每个关键词的位置。
强调: 只要使用match,都可能返回null,都要先判断不是null,再执行后续操作!

//. : 任意字符

//\. : 真正的点

/*var str = ‘a.c‘;

var re = /a\.c/;

alert(re.test(str));*/

//\b : 独立的部分 ( 起始,结束,空格 )

//\B : 非独立的部分

var str = ‘onetwo‘;

var re = /one\b/;

alert( re.test(str) );

//var re = /sClass/; //当正则需要传参的时候,一定要用全称的写法

var re = new RegExp(‘\\b‘+sClass+‘\\b‘);  注意全称的写法  需要转义一下

//\1 : 重复的第一个子项

//\2 : 重复的第二个子项

/*var str = ‘abca‘;

var re = /(a)(b)(c)\2/;

alert( re.test(str) );*/

/*var re = /\w\w/; c9

var re = /(\w)\1/; cc 99

时间: 2024-08-25 04:51:10

js中的正则的相关文章

js中给正则传参、传递变量

js中验证字符串有时需要用到正则表达式,一般情况下直接写正则进行验证就行. 但是遇到需要把部分正则作为参数传递就麻烦一点,需要用到RegExp()对象. <script type="text/javascript"> window.onload = function () { var str = "123456789"; var pattern = "\^\[0-9\]"; var reg = new RegExp(pattern +

js中常用正则

/校验是否全由数字组成 ? 1 2 3 4 5 6 function isDigit(s) { var patrn=/^[0-9]{1,20}$/; if (!patrn.exec(s)) return false return true } 匹配中文字符的正则表达式: [u4e00-u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^x00-xff] 评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) 匹配空白行的

JS中的正则基础

正则是用来处理字符串的规则 通过规则可以验证字符串是否匹配(test)对应的格式:也可以把正则匹配的结果在字符串中捕获(exec)到 正则的元字符分为:普通元字符:特殊元字符:量词元字符 普通元字符:用/ /包起来的除了具有特殊意义的,其余的都是代表本身意义的普通元字符 特殊元字符:\d =>0-9任意一个数字 ; \D=>除了0-9之间任意字符                \w =>匹配数字,字母,下划线当中的任意一个 ; \W =>匹配除了数字,字母,下划线当中的任意一个  

[JS]在js中进行正则替换显示高亮处理中,重复替换问题,可以使用js自带的批量替换,则不会重复替换

//js高亮显示 function highlight(){    if($.trim($('#pscws').val()) != ''){        var url = $("#analysis_url").val();        $.ajax({            url:url,            data:{words:$('#pscws').val()},            dataType:'json',            type:'POST', 

[js笔记整理]正则篇

一.正则基本概念 1.一种规则.模式 2.强大的字符串匹配工具 3.在js中常与字符串函数配合使用 二.js正则写法 正则在js中以正则对象存在: (1)var re=new RegExp(正则表达式); (2)var re=/正则表达式/; 三.正则的基本写法 1.开始结束符 ^     $ 2.元字符 (1)任意字符 [abc] abc中的任意一个 (2)范围 [a-z] 字母a到c: [1-9] 数组1到9 (3)排除 [^a-z] 排除字母a-c (4)任意字符 . 3.量词 (1) {

js中的事件,内置对象,正则表达式

[JS中的事件分类] 1.鼠标事件: click/dbclick/mouseover/mouseout/mousemove/mousedown/mouseup 2.键盘事件: keydown: 键盘按下去触发 keypress: 键盘按下并松开的瞬间触发 keyup: 键盘抬起时触发 [注意事项:(了解)] ① 执行顺序: keydown--keypress--keyup ② 长按时,会循环不断的执行keydown-keypress ③ 有keydown事件,不一定有keyup事件(事件触发过程

JS中childNodes深入学习

<html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> </head> <body> <div id="box"> <div></div> <div></div> <div></div> </div> <script

JS中同步显示并分割输入的数字字符串

题目比较晦涩,来张图来说明要表达的效果: 第一张图的效果就是,用户输入一个数字,上面就显示一个大层,然后显示输入的数字,并把数字用空格按照每四位分割出来.好像在建行的网上银行上面就有这种效果.第二个图的效果就是用户在一个文本框中输入一串数字,然后再光标离开的时候,把数字按照每三位用逗号给分割开来,类似于老外的金钱输入效果. 效果一 同步显示分割分割输入 这种效果中,仿造的就是输入银行卡子类的,故只能够输入数字,需要禁用用户输入的其它字符下面是几种实现方式.先贴上HTML和CSS代码: 1 <ht

JS中的内置对象

JS中的数组 1.数组的基本概念? 数组是在内存空间中连续存储的一组有序数据的集合. 元素在数组中的顺序,称为下标.可以使用下标访问数组的每个元素. 2.如何声明一个数组? ① 使用字面量声明:var arr = []; // 声明了一个空数组 [注]在JS中,同一数组,可以存储各种数据类型 ② 使用new关键字声明:var arr = new Array(参数); 参数:a. 省略 表示创建一个空数组: b. 整数 表示声明一个length为指定长度的数组. 但是这个length可以随时可变可