`
lxs647
  • 浏览: 523226 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

js使用正则时碰到的奇怪问题、、、

阅读更多

var regExp = /^Sol[0-9]$/gi;
var isContained = regExp.test(value);
alert("regExp.test("+value+")="+regExp.test(value) + " isContained="+isContained);

 

最后的提示如下:

 


 

甚是不解、、、

 

后来在网上google一番、、、

 

给出如下解释:

RegExp中有一个全局变量lastIndex,它记录待匹配串中下次匹配开始时的字符位置。默认为0,如果匹配成功,则是上次匹配串的长度,如果没有匹配成功,也返回0.

该变量有正则表达式对象的exec和test方法改变,也可以由String对象的replace,match和split等方法来改变,这个需要注意。

 

Also
RegExp Object Properties | Regular Expression Syntax

Applies To: RegExp Object
Requirements
Version 3
Returns the character position where the next match begins in a searched string.

RegExp.lastIndex
The object associated with this property is always the global RegExp object.

Remarks
The lastIndex property is zero-based, that is, the index of the first character is zero. Its initial value is –1. Its value is modified whenever a successful match is made.

The lastIndex property is modified by the exec and test methods of the RegExp object, and the match, replace, and split methods of the String object.

The following rules apply to values of lastIndex:

If there is no match, lastIndex is set to -1.
If lastIndex is greater than the length of the string, test and exec fail and lastIndex is set to -1.
If lastIndex is equal to the length of the string, the regular expression matches if the pattern matches the empty string. Otherwise, the match fails and lastIndex is reset to -1.

 

因为在我的正则表达式中使用了全局匹配模式 "g" , 所以用完了之后 必须要重置lastIndex.

或者去掉全局匹配模式的参数 "g" , 这样儿就一致了、、、

O(∩_∩)O~

  • 大小: 26.7 KB
分享到:
评论

相关推荐

    js_正则表达式全攻略

    ### 正则表达式在JavaScript中的应用全攻略 #### 一、正则表达式的概念及其在JavaScript中的重要性 正则表达式(Regular Expression)是一种强大的文本处理工具,能够帮助开发者进行复杂的字符串搜索和替换。在...

    js使用正则实现ReplaceAll全部替换的方法

    但replace()方法有一个限制:如果不使用正则表达式或正则表达式不包含全局匹配标志(g),那么replace()方法只会替换第一个匹配的字符串,而不是替换所有匹配的字符串。因此,如果需要实现replaceAll效果,即替换...

    js正则表达式(姓名、证件号码)

    js正则表达式,按甲方(银行)提供的个人证件信息采集规则编写的对应正则表达式

    jS 正则表达式实现关键字高亮显示

    在JavaScript(JS)中,正则表达式是一种强大的文本处理工具,可以用于匹配、查找、替换等操作。在本文中,我们将深入探讨如何利用正则表达式实现关键字的高亮显示,尤其适用于文本搜索和代码高亮场景。下面将详细...

    JavaScript中使用正则表达式

    JavaScript中使用正则表达式的一些验证

    JS使用正则控制用户输入银行卡号及格式化

    //js正则实现用户输入银行卡号的控制及格式化 [removed] function formatBankNo (BankNo){ if (BankNo.value == "") return; var account = new String (BankNo.value); account = account.substring(0,22); /*...

    javascript常用正则表达式大全

    javascript常用正则表达式大全,基本覆盖基本需求的正则表达式

    JS常用正则表达式及其使用方法

    JavaScript中的正则表达式是进行字符串...通过阅读提供的文档"js valid.doc"、"常用正则表达式.doc"、"js valid.pdf"和"常用正则表达式.pdf",你将能够深入掌握更多关于JavaScript正则表达式的信息,提升你的编程技能。

    JS的正则表达式进行验证

    在JavaScript(JS)中,正则表达式同样发挥着不可或缺的作用,尤其是在用户输入验证方面,能够极大地提高程序的健壮性和用户体验。 ### 标题解析:“JS的正则表达式进行验证” 标题直接点明了文章的主题,即利用...

    JS input正则验证大全

    本资源包“JS input正则验证大全”主要聚焦于使用JavaScript进行输入框(input)的各种类型的数据验证,包括英文、中文、邮箱、手机号、银行卡和身份证等常见字段的正则校验规则。以下是对这些知识点的详细说明: 1...

    JS正则表达式的使用以video标签为例

    使用JS正则表达式,选取video元素的src属性的值,利用jQuery选取元素

    JavaScript正则表达式匹配 div style标签

    使用DOM解析器可以避免正则表达式处理HTML时可能遇到的许多问题。 总结一下,虽然正则表达式是强大的文本处理工具,但在处理复杂的HTML文档时,它们可能不是最佳选择。尽管如此,在某些特定的简单场景下,通过构建...

    JavaScript正则表达式使用详解.zip

    文件"JavaScript正则表达式使用详解.txt"很可能包含了关于这些概念的详细解释和实例,而"NCIE书上的例子.txt"可能是某个教程书籍中的练习案例,这些资源可以帮助深入理解并掌握JavaScript正则表达式。 文件"P179_1....

    CSS加JS常用正则表达式

    1. **数据验证**:在表单提交前,使用JS的正则表达式对用户输入进行验证,例如邮箱格式、电话号码格式等。 2. **样式动态变化**:根据JS对文本内容的正则匹配结果,动态改变元素的CSS类,从而改变样式。 3. **CSS...

    javascript正则表达式迷你书 (1).pdf

    JavaScript 正则表达式迷你书 本书是 JavaScript 正则表达式的入门级教程,旨在帮助读者快速掌握正则表达式的基本概念...本书提供了 JavaScript 正则表达式的基本概念和应用,旨在帮助读者快速掌握正则表达式的使用。

    精通 JS正则表达式

    精通JS正则表达式的知识点详解 正则表达式在JavaScript中是一种强大的工具,用于处理字符串,包括测试字符串的模式、替换文本以及从字符串中提取子字符串。正则表达式由普通字符和元字符组成,这些元字符具有特殊的...

    js正则练习-账号密码邮箱匹配

    在JavaScript(JS)中,正则表达式是一种强大的文本处理工具,用于匹配、查找、替换等操作。在“js正则练习-账号密码邮箱匹配”的场景中,我们需要编写正则表达式来验证用户输入的账号、密码和邮箱是否符合特定的...

    JS 正则查找匹配

    JavaScript(简称JS)正则表达式是编程语言中强大的文本处理工具,用于查找、替换或者匹配字符串中的模式。在JS中,正则表达式通常与`String`对象的方法结合使用,如`match()`, `search()`, `replace()`, 和 `split...

    JS只能输入数字,数字和字母等的正则表达式

    在JavaScript(JS)中,正则表达式是一种强大的工具,用于匹配、查找、替换和验证字符串中的模式。本文将深入探讨如何使用正则表达式来限制用户在HTML文本框中只能输入数字和字母。 首先,我们需要理解正则表达式的...

Global site tag (gtag.js) - Google Analytics