js 正则函数初级
1.test :正则匹配字符串,如果成功则返回true,若果失败则返回false
格式:/正则表达式/.test(字符串)
默认吗匹配规则,区分大小写;如果不区分大小写,则加修饰符 i
例子:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script>
var str = "abcdefsdashd";
// 判断字符中是否存在某个字符
var res1 = /a/;
var res2 = /d/;
var res3 = /cc/;
var res4 = /A/;
var res5 = /A/i;
console.log(res1.test(str)); // true 因为str中有字符a
console.log(res2.test(str)); // true 因为str中有字符d
console.log(res3.test(str)); // false 因为str中没有字符cc ,看清楚了,是两个c连在一起,不是一个c,所以结果是false;
console.log(res4.test(str)); // false 因为str中没有字符A,test()方法匹配是要区分大小写的
console.log(res5.test(str)); // true 因为res5中加了i,表示不区分大小写匹配,所以返回true
</script>
</head>
<body>
</body>
</html>

2. match :正则匹配字符串,成功则返回字符串组成的数组,失败则返回空对象null
格式:
str.match( 正则表达式 ) // str 表示字符串
g:全局匹配修饰符,需要对整个字符串执行匹配规则
+:表示匹配至少重复一次
例子:
<script>
var str = 'cxf234aa223sd5554233dgf';
// 匹配字符串中的字符,如果存在,则返回改字符串,如果不存在,则返回null
var res1 = /\d\d\d/;
var res2 = /\d/;
var res3 = /\d\d\d/g;
var res4 = /\d/g;
console.log(str.match(res1)); // 234
console.log(str.match(res2)); // 2
console.log(str.match(res3)); // 234,223,555,423
console.log(str.match(res4)); //2,3,4,2,2,3,5,5,5,4,2,3,3
</script>

3. search :正则匹配字符串,成功就返回当前字符串在 字符串中的位置(索引),失败则返回-1;
格式:
字符串.search(正则);
默认匹配规则,只要找到就停止;
例子:
<script>
var str = 'abchhaddcysxjk';
//正则匹配字符串中字符,匹配到就返回改字符串在字符串中的位置,失败就返回-1,默认匹配到就停止
var res1 = /a/;
var res2 = /x/;
var res3 = /cy/;
var res4 = /h/;
var res5 = /d/g;
var res6 = /h/g;
var res7 = /xyz/;
console.log(str.search(res1)); // 0
console.log(str.search(res2)); // 11
console.log(str.search(res3)); // 8 如果是多个字符组成的字符串,则返回这个字符串在整个字符串中的位置
console.log(str.search(res4)); // 3
console.log(str.search(res5)); // 6 加全局匹配修饰符也没有用,匹配到就停止,匹配的是第一个字符的位置
console.log(str.search(res6)); // 3 加全局匹配修饰符也没有用,匹配到就停止,匹配的是第一个字符的位置
console.log(str.search(res7)); // -1 匹配失败,返回发-1
</script>

4. replace : 用新的字符串去替换匹配到的字符串
格式:
字符串.replace(/正则表达式/,新字符串)
例子:
<script>
var str = 'abchhaddcysxjk';
// 用新字符串去替换匹配到的字符串
var res1 = /a/;
var res2 = /a/g;
var res3 = /cy/;
var res4 = /h/;
var res5 = /d+/g;
var res6 = /\w/g;
var res7 = /\w+/;
var res8 = /\w/;
console.log(str.replace(res1, 'A')); // Abchhaddcysxjk 不加全局修饰符的话,就只匹配一次
console.log(str.replace(res2, 'A')); // AbchhAddcysxjk 加全局修饰符,就全局匹配
console.log(str.replace(res3, '00000')); // abchhadd00000sxjk 新变量是什么就替换什么
console.log(str.replace(res4, '我是谁')); // abc我是谁haddcysxjk 新变量是什么就替换什么
console.log(str.replace(res5, 'D')); // abchhaDcysxjk 新变量是什么就替换什么
console.log(str.replace(res6, 'A')); // AAAAAAAAAAAAAA 匹配规则怎样就怎样匹配 ,全局匹配
console.log(str.replace(res7, 'A')); // A 匹配规则怎样就怎样匹配
console.log(str.replace(res8, 'A')); // Abchhaddcysxjk 匹配规则怎样就怎样匹配,局部匹配
</script>

5.判定一个字符串是否全部是数字:
<script>
/*
\w: 字母,数字, 下滑线
\W: 非字母,数字,下滑线
\s: 空格 ,包括\n,\r,\f,\t,\v等
\S: 非空格 ,等于/[^\n\f\r\t\v]/
\d: 数字( 0-9 ) ,/\d/ = /[0-9]/
\D: 非数字 ,/\D/ = /[^0-9]/
\b 匹配一个单词的边界
\B 匹配一个单词的非边界
\n 匹配一个换行符
\r 匹配一个回车符
\t 匹配一个制表符
*/
// 判断这个字符串 是不是全是 数字
var str1 = '1';
var str2 = 'a1';
console.log(/\d/.test(str1)); // true 判断整个str有没有数字
console.log(/\d/.test(str2)); // true 判断整个str有没有数字
//\d: 只能判断 一个字符串 是否含有数字,并不能判断它全为数字
var str = '23423423';
//只要字符串中 不包含 任意 非数字 就能断定 这个字符串 是全部由数字组成的
if (/\D/.test(str)) {
console.log('不全是数字');
} else {
console.log('全是数字');
}
</script>

js 正则函数初级的更多相关文章
- js 正则函数初级之二
1. 小括号在正则中: 1.1 小括号:表示分组 1.2 分组之后,,每个组都有一个序号,从左到右,依次为1,2,3.......:可以使用 RegExp.$1,RegExp.$2,RegExp.$3 ...
- node.js的初级使用
node.js的初级使用 作为一个全栈开发员怎么能不会node.js了?至少得会用node搭载环境吧!话不多说直接开干! 一.下载与安装: 官网:http://nodejs.cn/ 中文文档:http ...
- js正则函数
js的正则函数主要有有replace,match,test,search,exec. 首先对文中的变量进行说明: rgExp为包含正则表达式模式和可用标志的正则表达式对象.也可以是包含正则表达式模式和 ...
- 自己封装js组件 - 初级
2天前抱着试试看的态度注册了此神博,心血来潮呕心沥血写了一篇关于vue 自定义组件的小文章 尼玛果然一个评论的没有!果然毫无人气!(当然了我这文章内容有限和大神们的比起来简直是粗制滥造...)索性我就 ...
- js正则函数match、exec、test、search、replace、split使用介绍集合
match 方法 使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回. stringObj.match(rgExp) 参数 stringObj 必选项.对其进行查找的 String 对 ...
- js正则函数match、exec、test、search、replace、split使用介绍集合,学习正则表达式的朋友可以参考下。
match 方法 使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回. stringObj.match(rgExp) 参数 stringObj 必选项.对其进行查找的 String 对 ...
- 新浪博客:html+css+原生JS+Ajax初级+mySql数据库——源码
**************************************************************************************************** ...
- js正则函数match、exec、test、search、replace、split使用集合
match 方法 使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回. stringObj.match(rgExp) 参数 stringObj 必选项.对其进行查找的 String 对 ...
- js正则函数match、exec、test、search、replace、split使用介绍
match() 使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回. stringObj.match(rgExp) stringObj 必选项.对其进行查找的 String 对象或字符 ...
随机推荐
- Maven的classifier作用
classifier可以是任意的字符串,用于拼接在GAV之后来确定指定的文件. 可用于区分不同jdk版本所生成的jar包 <dependency> <groupId>net.s ...
- keras LSTM学习实例
1. 购物时间预测 http://www.cnblogs.com/arkenstone/p/5794063.html https://github.com/CasiaFan/time_seires_p ...
- RedHat使用Centos的yum仓库
RedHat使用Centos的yum仓库 卸载红帽yum源 [root@zhouwanchun ~]# rpm -qa | grep yum [root@zhouwanchun ~]# rpm -e ...
- SQL按分隔符拆分字段串
CREATE VIEW [dbo].[Split_BusinessUnit] AS WITH tt AS ( SELECT BusinessUnit.BusinessUnitId , Business ...
- Linux 双网卡配置两个IP同时只有一个会通的原因
http://blog.csdn.net/centerpoint/article/details/38542719 根本原因: Linux默认启用了反向路由检查 如果2个网卡在一个Lan里面,那么服务 ...
- python数字
#=====>part1:数字类型#掌握:int,float#了解:Long(在python2中才有),complex# num=10# num=int(10)# print(type(num) ...
- es6基础(4)--字符串扩展
//字符串扩展 { console.log('a','\u0061'); console.log('s','\u20BB7');//超过了0xffff console.log('s','\u{20BB ...
- [Oracle,2018-01-11] 导出数据库说明文档
select A.table_name,A.column_name,A.data_type,A.DATA_LENGTH,B.comments from user_tab_columns A,user_ ...
- GNU C语言开发环境
1. GNU C 编译器 2. GNU make 项目管理工具 3. 创建和使用函数库 4. GNU C 函数库(glibc) 1.GNU C 编译器 使用 c语言 编写的代码,运行前必须经过编译和链 ...
- 公式for TinyMCE 编辑器@ cnblogs.com
编辑器截图: 行内公式:\( f(x,y,z) = 3y^2 z \left( 3 + \frac{7x+5}{1 + y^2} \right) \) 行间公式:\\( f(x,y,z) = 3 ...