继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

慕神8447489
关注TA
已关注
手记 1273
粉丝 174
获赞 956

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或456console.log(reg.test(str7)); // 正则断言</script></body></html>



作者:Mr柳上原
链接:https://www.jianshu.com/p/9b070b5fbdd1


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP