【jQuery】正则 jQuery特效(含代码示例)

news2024/12/21 20:05:58

文章目录

  • 正则
    • 构造函数
    • 修饰符
    • 边界符
    • 元字符
    • 量词符
  • 特效

正则

正则表达式(Regular Expression)是用于匹配字符串中字符组合的模式。在 JavaScript中,正则表达式也是对象。正则表通常被用来检索、替换那些符合某个模式或规则的文本。

验证表单:匹配输入框用户输入内容

敏感词过滤:过滤掉或替换页面内容中的一些敏感词

匹配所需要的部分或从字符串中提取特定部分等。

  • 正则表达式手册
  • 正则 测试

test() 方法属于 JavaScript 的 RegExp 对象。它用于检测一个字符串是否与某个正则表达式的模式匹配。如果匹配成功,则返回 true;否则返回 false

let re = /hello/; // 定义规则: 正则匹配 hello
let str = 'hello world';
console.log(re.test(str)); // 判断 str 是否能匹配 re 的规则 输出 true

match() 方法则是属于 JavaScript 字符串对象的一个方法。当正则表达式与字符串中的某些部分匹配时,这个方法会返回一个数组,该数组包含了匹配到的内容(包括子串);如果没有匹配,则返回 null

// 全局匹配
let str = 'hello world, hello yier';
let result = str.match(/hello/g);
console.log(result); // 输出 ["hello", "hello"]

构造函数

let str = "hello ooo eee"

let reg2 = new RegExp(/l/);  //创建正则表达式
console.log(str.match(reg2));

let v = "hello"; // 规则
// 相当于RegExp(/hello/)
let reg3 = new RegExp(v);  //创建正则表达式 ---> hello
console.log(str.match(reg3));

修饰符

修饰符全拼描述
gglobal全局搜索
iinsensitive不区分大小写
mmultilint多行搜索(换行)
let str = "YangGuangyangguang";
console.log(str);
let reg = /a/g;
console.log(str.match(reg)); // 4处
let reg2 = /y/gi;
console.log(str.match(reg2)); // 2处

let str2 = "Yang\nYang\nyang";
let reg3 = /g/gm;
console.log(str2.match(reg3)); // 3处

边界符

边界符描述
^abc$精确匹配(必须是 abc字符串才符合规范)
t$以t结尾
^t以t开头

元字符

参考 : 正则表达式手册

元字符说明
\d匹配一个数字字符 相当于 [0-9]
\D匹配一个非数字字符 相当于 [^0-9]
\w匹配任意字母、数字和下划线[0-9 A-z]
\W匹配任何非单词字符 相当于[^0-9 A-z]
\s匹配任何空白字符 包括 [\t\n\r\v\f] 空格 制表符 换行等等
\S匹配任何非空白字符 相当于[^\t\n\r\v\f]
// 匹配数字
let reg = /\d/g;
console.log("123".match(reg)); 
		// 123
// 匹配非数字字符
console.log("晴天age:20wsd2002_1".match(/\D/g)); 
		// 晴天age:wsd_

量词符

量词说明
*重复 0 次 或者 更多次(只顾头)
+重复 1 次 或者 更多次(会往后找)
?重复 0 次 或者 一次(只顾头)
{n}重复 n 次
{n,}重复 n 次 或者 更多次
{n,m}重复 n 到 m 次
1.
惰性/非贪婪模式:最小可能匹配
*?
+? 结合--非贪婪模式
? 表示某个模式出现了0次或者1次  ===  {0,1}
?只要已发现匹配就返回结果,不会往下检查
2.
贪婪模式:默认情况下,尽可能的多匹配
* 表示某个模式出现了0次或者多次  ===  {0,}
+ 表示某个模式出了1次或者多次
+ 匹配到一个字符不满足匹配规则位置
let a = "aaabbbccc";
console.log(a.match(/a*/));

// 表示 匹配 尽可能少的 b ,也就是 1个b
console.log("+?","abbb".match(/ab+?/)); // ab
// 表示能匹配多个 b
console.log("+","abbb".match(/ab+/)); // abbb
console.log("*","abbb".match(/ab*/)); // abbb

// 表示a后面有多个b,那么匹配0个b(尽可能少匹配)
console.log("*?","abbb".match(/ab*?/)); // a

特效

操作描述
show()显示匹配的元素
hide()隐藏匹配的元素
fadeIn()淡入
fadeOut()淡出
slideDown()元素逐步延伸显示
slideUp()元素逐步缩短直至隐藏
animate()自定义动画

元素的显示与隐藏

<style>
    div {background: #def3ca;margin: 3px;width: 80px;display: none;float: left;text-align: center;}
</style>
<script src="https://code.jquery.com/jquery-3.7.0.js"></script>
<button id="showr">Show</button>
<button id="hidr">Hide</button>
<div>Hello, </div>
<div>how</div>
<div>are</div>
<div>you?</div>
<script>
    $( "#showr" ).on( "click", function() {
        $( "div" ).first().show( "fast", function showNext() {
            $( this ).next( "div" ).show( "fast", showNext );
        });
    });

    $( "#hidr" ).on( "click", function() {
        $( "div" ).hide( 1000 );
    });
</script>

渐变显示或隐藏元素

<style>
    div { background: #def3ca;margin: 3px;width: 80px;height: 80px;display: none;float: left;text-align: center;line-height: 80px;}
</style>
<script src="https://code.jquery.com/jquery-3.7.0.js"></script>

<button id="fadeInBtn">Fade In</button>
<button id="fadeOutBtn">Fade Out</button>
<div>Hello 1,</div>
<div>how</div>
<div>are</div>
<div>you?</div>
<div>doing</div>
<div>today?</div>

<script>
    $(document).ready(function() {
        var divs = $("div");
        var index = 0;

        function fadeInNextDiv() {
            if (index < divs.length) {
                divs.eq(index).fadeIn(1000, function() {
                    index++;
                    fadeInNextDiv(); // 递归调用自身
                });
            }
        }

        $("#fadeInBtn").on("click", function() {
            index = 0; // 重置索引
            fadeInNextDiv(); // 开始淡入过程
        });

        $("#fadeOutBtn").on("click", function() {
            divs.fadeOut(1000); // 所有 div 元素淡出
        });
    });
</script>

自定义动画

<style>
    div {background-color: #bca;width: 200px;height: 1.1em;text-align: center;border: 2px solid green;margin: 3px;font-size: 14px;}
    button {font-size: 14px;}
</style>
<script src="https://code.jquery.com/jquery-3.7.0.js"></script>
<button id="go1">&raquo; Animate Block1</button>
<button id="go2">&raquo; Animate Block2</button>
<button id="go3">&raquo; Animate Both</button>
<button id="go4">&raquo; Reset</button>
<div id="block1">Block1</div>
<div id="block2">Block2</div>

<script>
    $( "#go1" ).on( "click", function() {
        $( "#block1" )
            .animate({
            width: "90%"
        }, {
            queue: false,
            duration: 3000
        })
            .animate({ fontSize: "24px" }, 1500 )
            .animate({ borderRightWidth: "15px" }, 1500 );
    });

    $( "#go2" ).on( "click", function() {
        $( "#block2" )
            .animate({ width: "90%" }, 1000 )
            .animate({ fontSize: "24px" }, 1000 )
            .animate({ borderLeftWidth: "15px" }, 1000 );
    });

    $( "#go3" ).on( "click", function() {
        $( "#go1" ).add( "#go2" ).trigger( "click" );
    });

    $( "#go4" ).on( "click", function() {
        $( "div" ).css({
            width: "",
            fontSize: "",
            borderWidth: ""
        });
    });
</script>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2216370.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

新手爬虫DAY1

这个错误信息表明在你的Python程序中&#xff0c;re.search() 函数没有找到预期的匹配项&#xff0c;因此返回了 None。当你尝试在 None 对象上调用 group(1) 方法时&#xff0c;Python 抛出了一个 AttributeError。 具体来说&#xff0c;错误发生在 pc.py 文件的第6行&#x…

《RECONX: RECONSTRUCT ANY SCENE FROM SPARSEVIEWS WITH VIDEO DIFFUSION MODEL》论文阅读

论文地址&#xff1a;https://arxiv.org/pdf/2408.16767 项目地址&#xff1a;GitHub - liuff19/ReconX: ReconX: Reconstruct Any Scene from Sparse Views with Video Diffusion Model ---------------------------------------------------------------------------------…

Open-WebUI

Open-WebUI特点⭐ ️直观的界面&#xff1a;聊天界面从 ChatGPT 中汲取灵感&#xff0c;确保用户友好的体验。响应式设计&#xff1a;在桌面和移动设备上享受无缝体验。⚡快速响应&#xff1a;享受快速响应的性能。轻松设置&#xff1a;使用 Docker 或 Kubernetes&#xff08;…

【自然语言处理】Encoder-Decoder模型中Attention机制的引入

在 Encoder-Decoder 模型中引入 Attention 机制&#xff0c;是为了改善基本Seq2Seq模型的性能&#xff0c;特别是当处理长序列时&#xff0c;传统的Encoder-Decoder模型容易面临信息压缩的困难。Attention机制可以帮助模型动态地选择源序列中相关的信息&#xff0c;从而提高翻译…

硬盘文件误删:原因、恢复方案与预防措施

一、硬盘文件误删现象描述 在日常使用电脑的过程中&#xff0c;硬盘文件误删是一个常见且令人头疼的问题。许多用户在进行文件整理、删除无用资料或进行系统清理时&#xff0c;一不小心就可能将重要文件误删。这些误删的文件可能包括工作文档、学习资料、家庭照片、视频等&…

【含文档】基于Springboot+Vue的采购管理系统(含源码+数据库+lw)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 系统定…

SpringBoot实现桂林旅游的智能推荐

3系统分析 3.1可行性分析 通过对本桂林旅游景点导游平台实行的目的初步调查和分析&#xff0c;提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本桂林旅游景点导游平台采用SSM框架&#xff0c;JAVA作…

基于Docker安装Grafana及其基本功能

Grafana是一款用Go语言开发的开源数据可视化工具&#xff0c;可以做数据监控和数据统计&#xff0c;带有告警功能。 拉取Grafana镜像 docker pull grafana/grafana 运行镜像 docker run -d -p 3000:3000 --namegrafana grafana/grafana 打开浏览器&#xff0c;访问 http://l…

【Vue】Vue2(10)

文章目录 1 过度与动画1.1 Test.vue1.2 Test2.vue1.3 Test3.vue1.4 TodoList_动画&#xff1a;MyItem.vue 2 配置代理服务器2.1 方法一2.2 方法二2.3 vue.config.js2.4 App.vue 3 github搜索案例3.1 静态页面3.2 Search.vue3.3 List.vue3.4 App.vue3.5 main.js3.6 github搜索案…

免费插件集-illustrator插件-Ai插件-路径点到点连线

文章目录 1.介绍2.安装3.通过窗口>扩展>知了插件4.功能解释5.总结 1.介绍 本文介绍一款免费插件&#xff0c;加强illustrator使用人员工作效率&#xff0c;实现简单路径内部点到点连线功能。首先从下载网址下载这款插件 https://download.csdn.net/download/m0_67316550…

打造卓越APP体验:13款界面设计软件推荐

你知道如何选择正确的UI设计软件吗&#xff1f;你知道设计美观的用户界面&#xff0c;及带来良好用户体验的APP&#xff0c;需要什么界面设计软件吗&#xff1f;基于APP界面的功能不同&#xff0c;选择的APP界面设计软件也会有所不同。然而&#xff0c;并不是要把所有APP界面设…

1.2.3 TCP IP模型

TCP/IP模型&#xff08;接网叔用&#xff09; 网络接口层 网络层 传输层 应用层 理念&#xff1a;如果某些应用需要“数据格式转换”“会话管理功能”&#xff0c;就交给应用层的特定协议去实现 tip&#xff1a;数据 局部正确不等于全局正确 但是&#xff0c;数据的 全局正…

docker (desktopcompose) download

docker docker-compose download 百度网盘获取离线包链接release-notes 参考dockerdocker-composewlspowershell

基于Spring Boot的大创项目成本控制系统

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统&#xff0c;它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等&#xff0c;非常…

Linux下ClamAV源代码安装与使用说明

Linux下ClamAV源代码安装与使用说明 ClamAV(Clam AntiVirus)是一款开源的防病毒工具,广泛应用于Linux平台上的网络安全领域。它以其高效的性能和灵活的配置选项,成为网络安全从业人员的重要工具。ClamAV支持多线程扫描,可以自动升级病毒库,并且支持多个操作系统,包括Li…

扫普通链接二维码打开小程序

1. 2.新增规则&#xff08;注意下载文件到跟目录下&#xff0c;需要建个文件夹放下载的校验文件&#xff09; 3.发布 ps&#xff1a;发布后&#xff0c;只能访问正式版本。体验版本如果加了 测试链接http://xxx/xsc/10 那么http://xxx/xsc/aa.....应该都能访问 例如aa101 aa…

5 -《本地部署开源大模型》在Ubuntu 22.04系统下ChatGLM3-6B高效微调实战

在Ubuntu 22.04系统下ChatGLM3-6B高效微调实战 无论是在单机单卡&#xff08;一台机器上只有一块GPU&#xff09;还是单机多卡&#xff08;一台机器上有多块GPU&#xff09;的硬件配置上启动ChatGLM3-6B模型&#xff0c;其前置环境配置和项目文件是相同的。如果大家对配置过程还…

前端excel的实现方案Luckysheet

一、介绍 Luckysheet是一款纯前端类似excel的在线表格&#xff0c;功能强大、配置简单、完全开源的插件。目前已暂停维护&#xff0c;但是其已有功能大概能满足常见需求的使用。 二、引入 ①cdn引入&#xff08;目前应该已经不支持&#xff0c;可自行尝试&#xff09; <l…

第二十七篇:传输层讲解,TCP系列一

一、传输层的功能 ① 分割与重组数据 传输层也要做数据分割&#xff0c;所以必然也需要做数据重组。 ② 按端口号寻址 IP只能定位数据哪台主机&#xff0c;无法判断数据报文应该交给哪个应用&#xff0c;传输层给每个应用都设置了一个编号&#xff0c;这个编号就是端口&…

大数据毕业设计选题推荐-电影数据分析系统-电影推荐系统-Python数据可视化-Hive-Hadoop-Spark

✨作者主页&#xff1a;IT研究室✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…