前端 js 经典:正则表达式

简介: 前端 js 经典:正则表达式

1. 作用

正则表达式的作用就是匹配一个字符串

打比方,假如你要判断一个 str 是不是等于 "abc", 可以通过 str == "abc" ? true : false 来判断,匹配返回 true,不匹配返回 false,那如果,要判断是否等于"abc"其中 "abc" 无论哪一个字母是大写都判断为匹配,返回 true,那要怎么处理,不可能写成,str == "abc" || str == "Abc" || str == "aBc" || ... 这样,就很繁琐了,这就需要用到正则表达式,"abc"大小写都匹配通过正则表达式判断为:/^(a|A)(b|B)(c|C)$/, 通过正则的test()方法,就可以满足需求了 /^(a|A)(b|B)(c|C)$/.test(str)

2. 定义

// ^: 以什么开始 $: 以什么结束
/^$/;

3. 方法

// demo
let reg = /^y[a-zA-Z0-9_]*coder$/;
let str = "yqcoder";
 
// 正则的方法
// 满足匹配返回true,否则false
reg.test(str); // true
// 返回匹配正则的值,否则返回null
reg.exec(str); // ['yqcoder', index: 0, input: 'yqcoder', groups: undefined]
 
// 字符串匹配正则方法
// 替换满足正则的字符串
str.replace(reg, "super"); // 'super'
// 返回匹配的值
str.match(reg); // ['yqcoder', index: 0, input: 'yqcoder', groups: undefined]

4. 正则字符

[0-9] or \d: 单个数字

\D : 非数字

\W : 非 0-9a-zA-Z

\S : 非空白字符

. : 非换行符\n 的所有字符

[a-zA-Z0-9_] 或 \w: 包括下划线在内的字母数字

\s: 空白字符(空格 ,制表符\t,换页符\f,换行符\n,回车符\r)

5. 次数

+                 : 至少1次

?                 : 可有可无

*                  : 0-无穷次

{x}               : 指定x次

{min, }         : 至少min次

{0, max}      : 最多max次

{min, max}  : min到max次

6. 需要转义的特殊字符

* . ? + ^ $ | \ / [ ] ( ) { }

7. 操作符

\t 制表符 ('\u0009')

\n 换行符 ('\u000A')

\r 回车符 ('\u000D')

\f 换页符 ('\u000C')

\a 响铃符 ('\u0007')

\e 转义符 ('\u001B')

8. 常用正则

// 正整数:人数,排名
/^\d+$/;
// 正浮点数:金额
/^\d+(\.\d+)?$/;
// 汉字
/^[\u4e00-\u9fa5]{0,}$/;
// 英文和数字
/^[A-Za-z0-9]+$/;
// 邮箱
/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
// 手机
/^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$/;
// 网址
/[a-zA-z]+://[^\s]*/
// 电话号码
/^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$/;
// 身份证号(15位、18位数字)
/^\d{15}|\d{18}$/;
// 密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线)
/^[a-zA-Z]\w{5,17}$/;


目录
相关文章
|
17天前
|
前端开发 机器人 API
前端大模型入门(一):用 js+langchain 构建基于 LLM 的应用
本文介绍了大语言模型(LLM)的HTTP API流式调用机制及其在前端的实现方法。通过流式调用,服务器可以逐步发送生成的文本内容,前端则实时处理并展示这些数据块,从而提升用户体验和实时性。文章详细讲解了如何使用`fetch`发起流式请求、处理响应流数据、逐步更新界面、处理中断和错误,以及优化用户交互。流式调用特别适用于聊天机器人、搜索建议等应用场景,能够显著减少用户的等待时间,增强交互性。
129 2
|
17天前
|
JavaScript 前端开发 程序员
前端学习笔记——node.js
前端学习笔记——node.js
33 0
|
2天前
|
JavaScript 前端开发 开发者
前端框架对比:Vue.js与Angular的优劣分析与选择建议
【10月更文挑战第27天】在前端开发领域,Vue.js和Angular是两个备受瞩目的框架。本文对比了两者的优劣,Vue.js以轻量级和易上手著称,适合快速开发小型到中型项目;Angular则由Google支持,功能全面,适合大型企业级应用。选择时需考虑项目需求、团队熟悉度和长期维护等因素。
11 1
|
13天前
|
前端开发 JavaScript 安全
JavaScript前端开发技术
JavaScript(简称JS)是一种广泛使用的脚本语言,特别在前端开发领域,它几乎成为了网页开发的标配。从简单的表单验证到复杂的单页应用(SPA),JavaScript都扮演着不可或缺的角色。
16 3
|
3天前
|
JavaScript 前端开发 API
前端框架对比:Vue.js与Angular的优劣分析与选择建议
【10月更文挑战第26天】前端技术的飞速发展让开发者在构建用户界面时有了更多选择。本文对比了Vue.js和Angular两大框架,介绍了它们的特点和优劣,并给出了在实际项目中如何选择的建议。Vue.js轻量级、易上手,适合小型项目;Angular结构化、功能强大,适合大型项目。
11 0
|
6天前
|
前端开发 JavaScript UED
"前端小技巧大揭秘:JS如何将后台时间戳秒变亲切小时前、分钟前,让用户秒懂,提升互动体验!"
【10月更文挑战第23天】在Web开发中,将后台返回的时间戳转换为“小时前”、“分钟前”、“刚刚”等友好的时间描述是常见需求。本文介绍如何用JavaScript实现这一功能,通过计算当前时间和时间戳的差值,返回相应的描述,提升用户体验。
14 0
|
17天前
|
JavaScript 前端开发 应用服务中间件
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
90 0
|
17天前
|
前端开发 JavaScript 程序员
【从前端入门到全栈】Node.js 之核心概念
【从前端入门到全栈】Node.js 之核心概念
|
17天前
|
Web App开发 JavaScript 前端开发
前端Node.js面试题
前端Node.js面试题
|
17天前
|
Web App开发 JavaScript 前端开发
对于 前端 解释下 node.js的必要性
对于 前端 解释下 node.js的必要性
16 0