1.)String方法
a.)String.search()
参数:可以是正则表达式也可以是普通的字符串。
返回值:如果找到匹配则返回首字符的索引位置,找不到则返回-1
var s = "Hello world.";
reg = /world/i; // i表示不区分大小写
alert(s.search(reg));
b.)String.replace()
参数:1.正则表达式 2.用于替换的字串
返回替换后的字符串
var s = "Hello world.World!";
reg = /world/gi; // g为全局模式,会替换所有匹配
alert(s.replace(reg,'a'));
子表达式(可以通过$n访问括号里匹配的子表达式):
var s = "11 22 33 44 55 66 77!";
reg = /(\S+)(\s+)(\S+)/g; // i表示不区分大小写
alert(s.replace(reg,'$3$2$1')); //22 11 44 33 66 44 77!
c.)String.match()
把匹配的字符串放到数组里面返回。没有匹配则返回null
//全局模式下,每个匹配放到返回数组里
var s = "我的电话号码0631-1234567 你的是021-87654321,我们常联系啊!";
reg = /(0\d\d-\d{8}|0\d\d\d-\d{7})/g; // 注意这个正则可能不完整还可能有更简单的写法
alert(s.match(reg)); //0631-1234567,021-87654321
//没有设置g标记时,返回的数组[0]是整体匹配,1-n表示子匹配
var s = "我的工资是$800,她的工资是$400!";
reg = /(\$)(\d+)/; // $需要\转义
alert(s.match(reg)); //$800,$,800
d.)String.split([分隔符[,返回元素个数限制])
//普通的分割
var s = "我的工资是$800,她的工资是$400!";
alert(s.split(',')[0]); //我的工资是$800
//使用正则
var s = "中国人口达到14亿,人均收入却不到3000美元,所以中国还处于发展中国家!";
alert(s.split(/\d/)); //中国人口达到,亿,人均收入却不到,美元,所以中国还处于发展中国家!
2.)RegExp对象
a.)RegExp.test(str)
绻鹲tr匹配此正则对象则返回true.
var s = "这句话包含数字123用于测试!";
var re=/\d+/;
if(re.test(s))
alert("包含数字");
b.)RegExp.exec()比String.match()更强大
//非全局调用exec,[0]返回匹配,1-n返回子匹配
var s = "数字123,字母abc,下划线_!";
var re=/(\w)\w*/;
alert(re.exec(s));//123,1
alert(re.exec(s).input);//数字123,字母abc,下划线_!
alert(re.exec(s).index);//2
//带全局标记
var s = "数字123,字母abc,下划线_!";
var re=/(\w)\w*/g;
alert(re.lastIndex);//0
alert(re.exec(s));//123,1
alert(re.lastIndex);//5
alert(re.exec(s));//abc,a
alert(re.lastIndex);//11
alert(re.exec(s));//_,_
alert(re.lastIndex);//16
c.)正则表达式构造函数
re = new RegExp("pattern",["flags"])
var s = "数字123,字母abc,下划线_!";
var re=new RegExp("(\\w)\\w*","g");//由于\在引号内也是转义符,所以需要多加一个\
alert(re.exec(s));//123,1
分享到:
相关推荐
JavaScript正则表达式是编程语言JavaScript中用于处理字符串的强大工具,它可以用来进行各种复杂的文本匹配、替换和提取操作。在实战中,以下是一些常见的正则表达式应用场景及其详细解释: 1. **匹配结尾的数字**...
可以使用JavaScript的`replace()`函数配合正则表达式来插入丢失的引号。假设你有一个不包含引号的字符串`unquotedStr`,你可以这样做: ```javascript var quotedStr = unquotedStr.replace(/(\w+):(\w+)/g, '"$...
在探讨如何用JavaScript编写一个只删除所有font标签的正则函数之前,我们首先需要了解font标签和正则表达式的基础知识。 font标签是HTML早期用来定义字体样式、大小和颜色的一个元素。例如,`文字内容</font>`。...
JavaScript(简称JS)中的正则表达式是一种强大的文本处理工具,用于模式匹配、搜索、替换等操作。在JS中,正则表达式是通过构造函数`RegExp`或使用特殊的正则字面量语法(用斜杠`/`包围)创建的。本篇将深入探讨JS...
1. 原型:每个JavaScript对象都有一个内部[[Prototype]]属性,通常通过`__proto__`或`Object.getPrototypeOf()`访问。原型链允许对象共享属性和方法。 2. 构造函数和实例:构造函数用于创建特定类型的对象,如`...
JavaScript正则表达式是编程语言JavaScript中的一个强大工具,用于处理文本字符串,执行模式匹配和数据验证。在JavaScript中,正则表达式是通过构造函数`RegExp`或使用特殊的正则字面量语法(用斜杠`/`包围)创建的...
本教程将深入探讨JavaScript正则表达式的使用方法,帮助你掌握这一核心技术。 1. **基础语法** - `/pattern/flags` 是JavaScript中正则表达式的典型表示方式,其中`pattern`是你要匹配的模式,`flags`是可选的修饰...
通过阅读源代码,我们可以学习到更多关于正则引擎内部工作原理的细节,这对于理解JavaScript中的正则表达式和优化自己的代码非常有帮助。 总的来说,构建一个正则引擎需要理解正则表达式的基本结构和语法规则,然后...
JavaScript正则表达式是编程语言JavaScript中用于处理字符串的强大工具,它允许程序员通过特定的模式匹配和操作文本。本教程的目标是在30分钟内帮助初学者理解正则表达式的基本概念,并提供一些实用技巧。 首先,...
本文将深入讲解JavaScript正则表达式的各种概念、语法以及常见用法。 1. **基础概念** - **模式**:正则表达式中的模式是描述要匹配的字符串序列的字符和特殊符号组合。 - **分隔符**:在JavaScript中,通常使用...
1. 函数内部使用了`!!`运算符,这会导致即使`phone.val()`返回的是`undefined`,也会被视为`true`而进入正则表达式的匹配。建议直接使用`phone.val()`进行匹配。 2. 返回值 `"ֻʽȷ"` 是乱码,应该改为中文提示:...
闭包是JavaScript中一个高级特性,它可以访问并操作函数内部变量,即使该函数已经执行完毕。闭包常用于封装私有变量和实现模块化。 十、事件委托 事件委托是一种优化技术,通过在父元素上监听事件,然后根据事件...
接下来对函数内部逻辑进行详细解析: 1. **变量声明与赋值**: ```javascript var temp; temp = vardatestring; ``` 这里首先声明了一个变量`temp`,并将传入的日期字符串`vardatestring`赋值给它,方便后续...
在JavaScript正则表达式中,有一些特殊的字符,如“+”表示匹配前面的字符一次或多次。在文章中提到的“+”符号,用于确保域名部分至少出现一次,这确保了网址至少包含一个域名。同时,使用“[]”来定义一个字符集,...
在实际应用中,将正则表达式应用于用户输入验证通常需要监听输入框的`keyup`或`input`事件,每当用户输入时触发事件处理函数,函数内部使用正则表达式进行匹配测试。如果检测到非法字符,可以通过弹窗提示用户,或者...
本文将详细介绍JavaScript正则表达式中的分组,包括捕获性分组和非捕获性分组。 首先,我们来理解捕获性分组。捕获性分组是通过在模式中使用圆括号(())来创建的。当正则表达式匹配成功时,捕获性分组会捕获其内部...
函数内部首先通过`re.test(strIP)`来判断输入的字符串是否符合上述正则表达式的规则。如果匹配成功,则进一步检查每个捕获的数字段是否满足以下条件: 1. **每个数字段必须小于256**:这是IPv4地址的基本要求,任何...