首页 > 其他分享 >JS正则RegExp.test()使用注意事项(不具有重复性)

JS正则RegExp.test()使用注意事项(不具有重复性)

时间:2022-10-31 21:16:42浏览次数:81  
标签:regex 12 技巧 JavaScript JS test RegExp 2012

参考来源:https://www.jb51.net/article/101466.htm

本文实例分析了JS正则RegExp.test()使用注意事项。分享给大家供大家参考,具体如下:

先看下面这段代码:

// 2012-12-12 12:12:12
var regex = /\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/g;
// true
alert(regex.test("2012-12-12 12:12:12"));
// false
alert(regex.test("2012-12-12 12:12:12"));


执行结果已经在代码注释里了,可以看到:对于同一个正则表达式对象regex,不能重复调用:第一次返回true,第二次就返回false,很显然这种效果不是我们想要的。这是因为RegExp.test()方法,第一次从位置0开始查找,可以匹配;第二次的查找位置就不是0了,说以就不能匹配了。

解决方式挺简单:每次都让test从第0个位置开始匹配就可以了:

// 2012-12-12 12:12:12
var regex = /\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/g;
// true
alert(regex.test("2012-12-12 12:12:12"));
regex.lastIndex = 0;
// true
alert(regex.test("2012-12-12 12:12:12"));


PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:**

**JavaScript正则表达式在线测试工具:
**http://tools.jb51.net/regex/javascript

**正则表达式在线生成工具:
**http://tools.jb51.net/regex/create_reg

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript正则表达式技巧大全》、《JavaScript替换操作技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript中json操作技巧总结》、《JavaScript错误与调试技巧总结》及《JavaScript数学运算用法总结

标签:regex,12,技巧,JavaScript,JS,test,RegExp,2012
From: https://www.cnblogs.com/javaxubo/p/16845792.html

相关文章

  • “代码雨”js+css+html实现
    先看看效果:HTML代码:<!DOCTYPEhtml><html><head><metacharset="utf-8"><linkrel="stylesheet"type="text/css"href="css/ok.css"><title>codeby-zhenyu.sha</title></h......
  • QJsonObject与(QByteArray、QString)互相转换
    QJsonObjectCbActionSyncManager::getJsonObjectFromByteArray(constQByteArrayjsonString){QJsonDocumentjsonDocument=QJsonDocument::fromJson(jsonString);......
  • Qt对Json的生成与解析Demo
    QJsonObject类用于封装JSON对象。JSON对象是键值对,其中键是唯一的字符串,其值由QJsonValue代表。一个QJsonObject可以从QVariantMap转换/被转换。QJsonArray类用于封装JSON数......
  • The 2021 ICPC Asia Shenyang Regional Contest
    The2021ICPCAsiaShenyangRegionalContest我们按难易程度来,E,F<B,J<H,I,L,ME.EdwardGaming,theChampion直接输出edgnb子字符串数量。F.EncodedStringsI分......
  • Go开发 之 JSON转换成Go的struct的快捷方式
    简述以前都是自己按照json的格式来手动写,到现在才知道go有这么方便的方式,记下来哟。Github提供了比较号的处理方式​​https://mholt.github.io/json-to-go/​​效果图使用......
  • js的ajax
    一些关键词线程(线程和进程的最小单位javascript是单线程的语言())进程(正在运行的程序)同步(一个线程执行(同步阻塞))上一个没有做完下一个不能执行异步(多个线程)......
  • vue.js拓展无法启用
    vue.js拓展无法启用这里我以自己的谷歌浏览器演示C:\Users\维磊\AppData\Local\Google\Chrome\UserData\Default\Extensions\nhdogjmejiglipccpnnnanhbledajbpd\6.4.5_0......
  • Team Extra Contest 2022-10-21补题
    D.38parrots线段树#include<bits/stdc++.h>usingnamespacestd;#defineIOSios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr)#definerep(a,b......
  • jsonp
    https://www.xp.cn/b.php/68921.htmljs跨域请求数据的3种常用的方法由于js同源策略的影响,当在某一域名下请求其他域名,或者同一域名,不同端口下的url时,就会变成不被允许的......
  • three.js 在低版本浏览报THREE.WebGLProgran: shader error 报错解决办法
    场景:在低版本浏览器下使用three.js控制台报以下错:Error:WebGL:linkProgram:Musthaveacompiledvertexshaderattached.THREE.WebGLProgran:shadererror:035715......