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 对象或字符 ...
随机推荐
- WordPress更换主题空白问题
刚才尝试着更换了一个主题,后来发现预览主页的时候是一片空白.查了很多资料,有说是index.php的权限问题,有说是插件问题,有说是UTL-8编码的问题,我都试过了,发现都不行,后来仔细研究了一下,发 ...
- window的三大功能,行内样式获取的讲解 getcomputerStyle
window的三大功能: js引擎 dom渲染 获取行内中css的属性: chrome和Firefox加上 ie9+(所谓的高级浏览器)用的方法: window.getComeputerStyle(d ...
- 一个源文件可以写出多个class吗?编译后,会不会生成多个class文件?
会.一个.java源文件里面可以有内部类.其他类(有且仅有一个类可以声明为public),所以编译后,可以有多个class文件.
- 00001 - Linux下 环境变量/etc/profile、/etc/bashrc、~/.bashrc的区别
①/etc/profile: 该文件登录操作系统时,为每个用户设置环境信息,当用户第一次登录时,该文件被执行.也就是说这个文件对每个shell都有效,用于获取系统的环境信息. # /etc/profi ...
- c#线程间传递参数
线程操作主要用到Thread类,他是定义在System.Threading.dll下.使用时需要添加这一个引用.该类提供给我们四个重载的构造函数(以下引自msdn). Thread (P ...
- 有关Mysql的mysql_store_result函数返回NULL的情况以及其他注意事项
成功调用mysql_query()后,mysql_store_result()能够返回NULL.出现该情况时,表明出现了下述条件之一: · 出现了malloc()故障(例如,如果结果集 ...
- Java - 27 Java 集合框架
Java 集合框架 早在Java 2中之前,Java就提供了特设类.比如:Dictionary, Vector, Stack, 和Properties这些类用来存储和操作对象组. 虽然这些类都非常有用 ...
- Android数据传递,使用广播BroadcastReceiver;
Android数据传递有很多种,Intent意图传递或使用Bundle去传递,接口监听回调传递数据,也可以把数据保存起来,使用的时候去读取等等等...,"当你知道足够多的数据传递的方式之后, ...
- Solr Date类型的哪些你不得不了解的细节
我们先来看看Solr日期类型的一些内幕,然后讨论一下Solr日期类型存在的一些问题,最后我们看看怎么解决现存的问题.概述 DateField 在Solr4.x之前,我们只有DateField,这类型现 ...
- angularjs路由传递参数
ui-sref.$state.go 的区别 ui-sref 一般使用在 <a>...</a>: $state.go('someState')一般使用在 controller里面 ...