想验证邮箱,发现验证邮箱格式时
/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_\-])+(\.[a-zA-Z0-9_\-])+$/
和删掉$之后的结果竟然不一样。求各位帮帮小弟。

解决方案 »

  1.   

    $表示匹配时字符串要以正则表达式的规则结尾。var r1=/^abc$/i,//以abc开头和结尾,不区分大小写(只能是大小写abc)
        r2=/^abc/i;//以abc开头就行
      

  2.   

    可是我现在面对的是,那您的这个举例,r2测试abc为true,r1测试abc为false?为什么啊,我已经晕了
      

  3.   


    应该是你测试方法出错了
    var str="abc";
    var r1=/^abc$/i,//以abc开头和结尾,不区分大小写(只能是大小写abc)
    r2=/^abc/i;//以abc开头就行
    alert(r1.test(str));//true 但如果str="abcd";这个就是false了以为abc并不是字符串结尾
    alert(r2.test(str));//true
      

  4.   

    lz 请检查一下你被测试的数据最后是不是多了一个回车或者换行以及\v等不可见字符?
      

  5.   

    匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
      

  6.   


    怎么检查啊?我用alert显示出的话看不出来有特殊字符啊。
    请我检查一下我的正则表达式吧 ,到底问题出在哪里?我是拿[email protected]做的测试,加了$就会显示fasle,不加就对了true。
      

  7.   


    我也知道这个道理,但是现在结果就是与我想的不一样,您可以亲自试试我写的那个正则表达式,测试[email protected]这个看看,加了$再test就是结果为fasle。