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 对象或字符 ...
随机推荐
- 去除图像中的alpha通道或透明度
自从appstore提交app改变后,虽然提交的流程还是和原来一样,但是相比以前还是有很大的改动,本来就不太喜欢 English,改版之后很多东西都变了,开发一个app就已经够他妈的蛋疼啦,上传一个a ...
- docker镜像文件的导入与导出(docker镜像迁移)
1.查看镜像ID # docker images [root@localhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE myto ...
- Recyclerview 实现上拉加载更多
LinearLayoutManager layoutManager; layoutManager = new LinearLayoutManager(getActivity()); layoutMan ...
- JVM调优常用参数
JVM常用参数配置 -Xmx2048m 最大堆大小 -Xms1024m 初始堆大小 -Xmn1024m 年轻代大小 -XX:SurvivorRatio=8 Eden区与Survivor区的大小比值,设 ...
- python 实现排序算法(二)-合并排序(递归法)
#!/usr/bin/env python2 # -*- coding: utf-8 -*- """ Created on Tue Nov 21 22:28:09 201 ...
- 【LeetCode】2. Add Two Numbers 两数相加
给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和 ...
- CF 966E May Holidays
/* 考虑对于询问分块, 每根号n个询问做一次 考虑一次询问, 我们建立出虚树来每条链上的更改一定是一样的, 然后会有根号条链 对于每条链上的点按照w基数排序并且合并相同, 然后每次更改 就是一个指针 ...
- mysql存储过程的编写
1.MySQL 新增存储过程,因为mysql默认以:为分隔符,该分隔符会使mysql自动执行sql语句,故需要将分隔符修改下,下面通过DELIMITER设为$$,然后编写SQL,编写完成再将:设为分隔 ...
- 01-spark基础
1.定义 Spark是一个由scala语言编写的实时计算系统 Spark支持的API包括Scala.Python.Java .R 2.功能 Spark Core: 将分布式数据抽象为弹性分布式数据集( ...
- echarts.js应用之map
最近项目中用到了echarts.js中的map,我画了一个简版的案例,如下所示: 效果图: 主要代码如下: <!DOCTYPE html> <html lang="en&q ...