美文网首页我爱编程菜鸟前端工程师程序员
JavaScript学习笔记013-正则表达式

JavaScript学习笔记013-正则表达式

作者: Mr柳上原 | 来源:发表于2018-08-20 18:10 被阅读0次

Author:Mr.柳上原

  • 付出不亚于任何的努力
  • 愿我们所有的努力,都不会被生活辜负
  • 不忘初心,方得始终

正则真的是个好东西

各种验证无敌了

特别是表单验证

用户注册

一句代码顶几十个if判断

如果生活也能这么简单的做出判断题

那该有多好

追女生

她到底喜欢不喜欢我

一个正则丢过去

。。。。。。

<!DOCTYPE html> <!-- 文档类型:标准html文档 -->

<html lang='en'> <!-- html根标签 翻译文字:英文 -->

<head> <!-- 网页头部 -->

<meat charset='UTF-8'/> <!-- 网页字符编码 -->

<meat name='Keywords' content='关键词1,关键词2'/>

<meat name='Description' content='网站说明'/>

<meat name='Author' content='作者'/>

<title>前端59期学员作业</title> <!-- 网页标题 -->

<link rel='stylesheet' type='text/css' href='css/css1.css'/> <!-- 外链样式表 -->

<style type='text/css'> /*内部样式表*/

</style>

</head>

<body> <!-- 网页主干:可视化区域 -->

<script>

/*
正则表达式:
一套规则,用于检索,替换字符串

元字符:
\ 转义符:让符号不再具有原意义
\d [0-9]
\D 非数字
\s 空格符
\S 非空格
\w 字符(数字,字母,_)
\W 非\w所匹配的范围
\b 单词边界(单词和空格之间的位置,单词边界,单词起始,结束,连词符[除了\w之外的所有字符都属于连词符])
\B 非\b部分

. 除了换行符(\r  \n)之外所有的字符
^ 字符串的起始
$ 字符串的结束

量词:
默认贪婪匹配:以最高次匹配,如果不成功依次降低,直到最低次
\d{最小次,最大次} // 两个值之间不能有空格
{5,10} // 最小5次,最大10次
{5,} // 最小5次,最大无穷次
{0,} 或 * // 无穷次
{1,} 或 + // 1到无穷次
{0,1} 或 ? // 0到1次,可有可无,只有一次

非贪婪模式:以最低次匹配
\d{最小次,最大次}?

标识符:
i // 忽略大小写,写在正则结束的正斜杠后面
g // 全局匹配,写在正则结束的正斜杠后面
m // 换行匹配

子集:子集里的内容默认被存起来捕获匹配
( ) // 被圆括号包裹的部分属于一个整体
replace // 字符串替换
(?: ) // 不捕获匹配

范围词:里面的内容都是或者关系
[\u4e00-\u9fa5] // 中文匹配
[0-9] // 相当于\d
[a-zA-Z] // 字母匹配

左右或者:|,左边所有 或者 右边所有
(abc|def)
// 大部分特殊符号出现在范围[]里,都不再具备特殊意义
[^1] // ^出现在中括号里代表不要^后面的值

\t 水平制表符
\v 垂直制表符
\f 换页符
\r 回车符
\n 换行符

正则断言:
(?= ) // 先行断言:零宽度正预测先行断言(正向肯定预查),不捕获匹配
(?! ) // 正向否定预查
(?<= ) // 反向肯定预查
(?<! ) // 反向否定预查
*/
// 正则格式
const str = "1234567890";
let reg = /\d/;
console.log(reg.test(str)); // ture 判断正则是否匹配
console.log(str.match(reg)); // 查看匹配的字符

let str2 = "123abc456def";
let reg2 = /\d{3}/g;
console.log(str2.replace(reg2, "风屿")); // 正则匹配替换字符串

let str3 = "风屿帅逼";
let reg3 = /([\u4e00-\u9fa5]{2})([\u4e00-\u9fa5]{2})/g;
console.log(str3.replace(reg3, "$2$1")); // 正则匹配交换字符串顺序

let str4 = "111223333";
let reg4 = /(\d)\1+/g;
console.log(str4.match(reg4)); // 查重

let str5 = "fengyu123";
let str6 = "fengyu456";
let str7 = "fengyu789";
let reg5 = /fengyu(?=123|456)/; // 判断是否是123或456
console.log(reg.test(str7)); // 正则断言

</script>

</body>

</html>

相关文章

  • JavaScript学习笔记013-正则表达式

    Author:Mr.柳上原 付出不亚于任何的努力 愿我们所有的努力,都不会被生活辜负 不忘初心,方得始终 正则真的...

  • js高级(四)

    JavaScript高级第04天笔记 1.正则表达式概述 1.1什么是正则表达式 正则表达式( Regular E...

  • JavaScript正则表达式学习笔记(二) - 打怪升级

    本文接上篇,基础部分相对薄弱的同学请移步《JavaScript正则表达式学习笔记(一) - 理论基础》。上文介绍了...

  • JavaScript正则表达式

    JavaScript 正则表达式 @(笔记)[正则表达式] 第一章 课程简介 1-1 JS正则表达式简介及应用 课...

  • JavaScript学习笔记(五)

    慕课网JavaScript进阶篇第9章学习笔记 JavaScript进阶篇—第9章 JavaScript学习笔记(...

  • JavaScript学习笔记二

    JavaScript学习笔记二 个人学习笔记参考阮一峰的JavaScript教学学习笔记二是对学习笔记一的补充 J...

  • 正则笔记

    学习来源:腾讯课堂-Javascript正则表达式基础学习代码:https://github.com/GemmaY...

  • 慕课笔记-JavaScript正则表达式笔记

    JavaScript正则表达式笔记 概述 RegularExpression:安装某种规则匹配指定内容的单个字符串...

  • 学习笔记 正则表达式

    2021.01.19 北京海淀 -2℃ 小雪转晴 正则表达式学习笔记 说明:该笔记参考“菜鸟教程”网站正则表达式...

  • JavaScript学习笔记三

    JavaScript学习笔记三 个人学习笔记参考阮一峰的JavaScript教学类型转换,内存,深拷贝,关于内存的...

网友评论

    本文标题:JavaScript学习笔记013-正则表达式

    本文链接:https://www.haomeiwen.com/subject/hbnliftx.html