浅谈js中test()函数在正则中的使用

test() 方法用于检测一个字符串是否匹配某个模式.

返回一个 Boolean 值,它指出在被查找的字符串中是否匹配给出的正则表达式。

regexp.test(str)

参数

regexp 必选项。包含正则表达式模式或可用标志的正则表达式对象。

str    必选项。要在其上测试查找的字符串。

说明

test 方法检查字符串是否与给出的正则表达式模式相匹配,如果是则返回 true,否则就返回 false。

每个正则表达式都有一个 lastIndex 属性,用于记录上一次匹配结束的位置.

var re = /^[1-9]{4,10}$/gi;
var str = "123456";
alert(re.test(str));   //返回true

// 执行上面的 test 之后我们可以弹出

alert(re.lastIndex); // 弹出6

即表示上一次在第6个字符之后结束

那么下一次再调用 test 的时候, 就会从第6个字符之后继续搜索

解决办法,将正则表达式的 lastIndex 属性设置为0

具体代码如下

<script type="text/javascript">
var re = /^[1-9]{4,10}$/gi;
var str = "123456";
alert(re.test(str));   //返回true
re.lastIndex=0;
alert(re.test(str));   //返回true
</script>

JavaScript表单验证email邮箱,判断一个输入量是否为邮箱email,通过正则表达式实现。

//检查email邮箱

function check(){
var email=document.getElementById("email").value;
var isemail=/^[a-z]([a-z0-9]*[-_]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?$/i;
if (email=="") {
   alert("请输入您的邮箱!");
   return false;
  }
if (email.length>25){
   alert("长度太长");
   return false
}
if (!isemail.test(email)){
   alert("不是邮箱");
  return false;
}
}

以上这篇浅谈js中test()函数在正则中的使用就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

时间: 2016-08-17

javascript 使用正则test( )第一次是 true,第二次是false

1.前言 今天朋友问我一个问题,我现在需要多次匹配同一个内容,但是为什么我第一次匹配,直接是 true,而第二次匹配确实 false 呢? var s1 = "MRLP"; var s2 = "MRLP"; var reg = /mrlp/ig; console.log(reg.test(s1)); console.log(reg.test(s2)); 这时候你会发现,我们在连续使用一个正则匹配其他字符串的时候,第一次匹配是 true,而第二次匹配则是 false.

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

本文实例分析了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")); 执

简述JavaScript的正则表达式中test()方法的使用

test方法为正则表达式匹配的文本搜索字符串.如果找到匹配,则返回true; 否则返回false. 语法 RegExpObject.test( string ); 下面是参数的详细信息: string : 要搜索的字符串 返回值: 如果找到一个匹配,如果不为空,则返回匹配的文本. 例子: <html> <head> <title>JavaScript RegExp test Method</title> </head> <body>

JavaScript中误用/g导致的正则test()无法正确重复执行的解决方案

一个简单的利用正则判断输入是否为数字: input1 = '0281234567';input2 = '0282345678';var reg = /^\d+$/g; reg.test(input1); //true reg.test(input2); //false 发现第二次test的时候返回的值不对了.排除书写错误,取值失败等等各种干扰因素后,发现仅仅是reg正则第二次执行的时候就无法正确执行了.之前并未遇到过这个问题,便搜索了一下相关信息. 原来这个问题实际上是/g导致的,而此时也才发现

js正则表达式test()和exec()用法实例

本文实例讲述了js正则表达式test()和exec()用法.分享给大家供大家参考.具体如下: 复制代码 代码如下: <html> <head> <script type="text/javascript"> //正则.test(内容),返回true或false function t1(){  var con = document.getElementsByName('content')[0].value;//需要查找的内容  var reg = /h

js正则表达式中test,exec,match方法的区别说明

js正则表达式中test,exec,match方法的区别说明 test test 返回 Boolean,查找对应的字符串中是否存在模式.var str = "1a1b1c";var reg = new RegExp("1.", "");alert(reg.test(str)); // true exec exec 查找并返回当前的匹配结果,并以数组的形式返回.var str = "1a1b1c";var reg = new R

js正则表达式中exec用法实例

本文实例讲述了js正则表达式中exec用法.分享给大家供大家参考.具体如下: exec要注意以下几点: 1. exec返回的是一个数组 2. 该数组的属性有input(被匹配的整个字符串) index(匹配到第一个元素的开始位置) 3. lastIndex还有个匹配到第一个属性后,指向的位置 这个属性智能由RegExp 对象!!!来访问 4. 通过这个属性可以来获取 所用所匹配到字符的字符串 代码如下: function o_exec(){ var str="hjjh,catfff,dog,ca

python正则表达式match和search用法实例

本文实例讲述了python正则表达式match和search用法.分享给大家供大家参考.具体分析如下: python提供了2中主要的正则表达式操作:re.match 和 re.search. match :只从字符串的开始与正则表达式匹配,匹配成功返回matchobject,否则返回none: search :将字符串的所有字串尝试与正则表达式匹配,如果所有的字串都没有匹配成功,返回none,否则返回matchobject:(re.search相当于perl中的默认行为) import re d

JS自定义选项卡函数及用法实例分析

本文实例讲述了JS自定义选项卡函数及用法.分享给大家供大家参考.具体如下: 这里分享一个JS选项卡函数附带演示效果,选项卡函数参数调用说明: cmd:点击元素集合 con:显示容器集合 evt:触发事件 css:为当前点击元素的样式名称 index:为默认显示第几项的索引值 目前选项卡的样式还比较简洁和粗糙,想用的自己动动手美化一下. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-zdy-tab-cha-fun-style-codes/

JS访问SWF的函数用法实例

本文实例讲述了JS访问SWF的函数用法.分享给大家供大家参考.具体分析如下: 关于Flash和JS相互调用的例子已经说很多了,这不是难题,当然,调用错误这也不是Flash和JS的错误,我们今天就来彻底解决IE,FF和Chrome之间的不兼容问题! 我们知道,Flash中,如果访问外部JS函数,只需  复制代码 代码如下: flash.external.ExternalInterface.call("JS中的函数名"); 这一句即可 如果要JS访问Flash中的函数,需要用addCall

js中setTimeout()与clearTimeout()用法实例浅析

本文实例分析了js中setTimeout()与clearTimeout()用法.分享给大家供大家参考.具体分析如下: setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式. clearTimeout() 方法可取消由 setTimeout() 方法设置的 timeout. <input type = text id = aaa > <input type = button value = stop id = bb onclick = bb()> <scrip

JS for...in 遍历语句用法实例分析

本文实例讲述了JS for...in 遍历语句用法.分享给大家供大家参考,具体如下: for...in 语句用于对数组或者对象的属性进行循环操作. for (变量 in 对象) {     在此执行代码 } 这里的"变量"用来指定变量,指定的变量可以是数组元素,也可以是对象的属性. 举个例子: <!DOCTYPE html> <meta charset="UTF-8"> <script> var x; var zoon = new

JS中sort函数排序用法实例分析

本文实例讲述了JS中sort函数排序用法.分享给大家供大家参考,具体如下: 最近遇到了一个面试题目,关于排序的问题,为了完善自己的知识点,这里就写一下学习笔记 <html> <head> <TITLE>class_obj_js_class</TITLE> <script language=javaScript> //sort()方法默认是按照ASCII码大小排序,看下面两个例子 function sortDemo(){ var a, l; //

js中getter和setter用法实例分析

本文实例讲述了js中getter和setter用法.分享给大家供大家参考,具体如下: 在学习Vue计算属性时,有一句"计算属性默认只有 getter ,不过在需要时你也可以提供一个 setter". getter和setter到底是什么?于是我查找了资料: 在Es5中可以使用getter和setter部分改写默认操作,但是只能应用在单个属性上,无法应用在整个对象上.getter是一个隐藏函数,会在获取属性值时调用.setter也是一个隐藏属性,会在设置属性值时调用. 例子: var m