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>
网友评论