您当前的位置:首页 > 互联网教程

JavaScript正则表达式中 : 是什么意思

发布时间:2025-05-21 09:55:09    发布人:远客网络

JavaScript正则表达式中 : 是什么意思

一、JavaScript正则表达式中 : 是什么意思

“?:”是“非获取存储匹配”的意思

“?:”只在一个“()”group中,紧贴着“(”出现,例如“(?:abcdefg)”,不同于“?”,“?:”不是一个量词,但是与“()”共同构造一个元字符,这个元字符所匹配出来的结果,不会保留,也不能参与诸如替换计算等等的操作。(这个操作在服务端多见一些,前端用的不多)(javascript只有string对象的replace方法能用到这个功能)

简单来说,就是你的正则表达式如果用不着在javascript里面使用replace方法,“?:”就可以省去(当然,看个人喜好和排版习惯,还有调试中的页面响应速度,如果加了“?:”反而更快,那就用吧)。

这么说起来还是比较抽象,用实例代码来说明吧。

<p>将匹配的数字增加后缀“9”</p>

<p class="demo">/(\d+)/gi:A23G4HFD567.</p>

<p class="demo">/(?:\d+)/gi:A23G4HFD567.</p>

<button onclick="myFunction()">点我</button>

var e=document.getElementsByClassName("demo");

var n=str.replace(/(\d+)/gi,"$19");

var n=str.replace(/(?:\d+)/gi,"$19");

<!--在实例里面“$1代表第一个“()”所匹配的结果-->

可以看到“/(\d+)/gi”所匹配的结果被用于扩展替换字符串中的“$1”;

但是“/(?:\d+)/gi”所匹配的结果没有被用于扩展替换字符串中的“$1”,尽管,它也成功地找到了被查找字符串中的数字,显然结果没有被保留。

对了,类似的问题,可以用这种办法去对比验证。(比如“?=”、“?!”、“?<=”、“?<!”是什么意思……)

上图是在菜鸟教程找到的一个比较全面的正则表达式的元字符列表的部分:

还有,不同软件的正则表达式的可能有不同的特性,但是目前perl的正则表达式是公认最多特性的。

二、javascript中的“ javascript:;”

JavaScript中的"javascript:;"是一种特殊的URL格式,用于在网站中使用JavaScript来执行特定的任务或操作。点击学习大厂名师精品课

以下是一些解决方法,可以有效解决“javascript:;”带来的问题:

1、使用未定义的JavaScript函数:可以将“javascript:;”替换为一个未定义的函数名称,例如“javascript:void(0);”或“javascript:none;”。这样可以防止页面自动滚动回顶部,并确保JavaScript代码不会执行;

2、将JavaScript代码移动到外部文件中:可以将JavaScript代码移动到一个单独的外部文件中,并使用链接或按钮的“src”属性来引用该文件。这样可以避免使用“javascript:;”标记,并使JavaScript代码更加易于维护和管理;

3、使用事件绑定:可以使用事件绑定来执行所需的JavaScript代码,而不需要使用“javascript:;”标记。例如,可以使用jQuery的“click”方法来绑定一个单击事件,并在该事件处理程序中执行所需的JavaScript代码。

有任何问题欢迎咨询慕课网。慕课网课程紧跟前沿技术,帮助用户在技术快速更迭的环境下,与时俱进,保持核心竞争力。以短视频小节课为特色,每个视频小节10-15分钟,符合用户碎片化的学习习惯,使学习效果最大化。

三、JavaScript:;是什么意思

JavaScript中的"javascript:;"是一种特殊的URL格式,用于在网站中使用JavaScript来执行特定的任务或操作。点击学习大厂名师精品课

以下是一些解决方法,可以有效解决“javascript:;”带来的问题:

1、使用未定义的JavaScript函数:可以将“javascript:;”替换为一个未定义的函数名称,例如“javascript:void(0);”或“javascript:none;”。这样可以防止页面自动滚动回顶部,并确保JavaScript代码不会执行;

2、将JavaScript代码移动到外部文件中:可以将JavaScript代码移动到一个单独的外部文件中,并使用链接或按钮的“src”属性来引用该文件。这样可以避免使用“javascript:;”标记,并使JavaScript代码更加易于维护和管理;

3、使用事件绑定:可以使用事件绑定来执行所需的JavaScript代码,而不需要使用“javascript:;”标记。例如,可以使用jQuery的“click”方法来绑定一个单击事件,并在该事件处理程序中执行所需的JavaScript代码。

有任何问题欢迎咨询慕课网。慕课网课程紧跟前沿技术,帮助用户在技术快速更迭的环境下,与时俱进,保持核心竞争力。以短视频小节课为特色,每个视频小节10-15分钟,符合用户碎片化的学习习惯,使学习效果最大化。