js中使用正则表达式的函数test时出现问题


最近做项目的时候,遇到要使用js或者jquery处理一些字符串的问题,尤其是匹配问题,这类问题,自然而言就归到正则表达式了。

   使用正则表达式,无疑可以帮助开发者减轻代码量,而且效率更高。

   那么,在使用js的test的时候,是否也遇到了reg.test is not a function之类的问题呢?

   经过多次调试发现,网上给出的教程大多数是错误。

   

   ① test(str),判断字符串str是否匹配表达式,返回一个布尔值。例如:     var regx=/user/d+/g;     var flag=regx.test(“user12dd”);     flag的值为true。

     -------------------->出自zaifendou的《js正则表达式语法》

  

    ② 使用 var reg = new RegExp("\user/d+g\");

     reg.test("user12dd");

     使用反双斜杠代替斜杠。

    --------------------------->出自哪里,已经忘了

   最后,经过度娘,发现原来是语法错误。只是自己没有按照一定的关键字搜索,没有检索到自己想要的答案,我一直使用"test is not a function js正则表达式"的字样检索,结果忙碌很长时间。但是就在作者写此文时,换了一种检索方法:"js test正则表达式",结果出其不意啊,到处都是正确的写法:

   js中正则表达式匹配时,如果使用test函数,就必须不带引号,并且必须是先定义规则变量。所有带引号的都是错误的!!!

  如果不适用test,使用match则可以带引号。

   var re = /^[1-9]d{4,10}$/;  

   var str = "123456";  

   alert(re.test(str));     //返回true


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM