zoukankan      html  css  js  c++  java
  • javascript正则表达式实例分析

    1.验证邮件格式是否正确:

    /**
    * 此函数进行Email格式检测.
    * @param str 待检测字符串.
    * @return 是Email格式返回真.
    */
    function isEmail(str){
    res = /^[0-9a-zA-Z_\-\.]+@[0-9a-zA-Z_\-]+(\.[0-9a-zA-Z_\-]+)+$/;
    var re = new RegExp(res);
    return !(str.match(re) == null);
    }

    这其中函数中res变量有几个问题需要注意:

    1.res既然是字符串怎么不需要加引号?

    声明正则表达式:varexp=/字符/;把要配备的字符放到”/”内

    2.0-9,a-z,A-Z中的-是代表表示在一定范围?

    “[XYZ] “ 字符集合。匹配所包含的任意一个字符。例如, '[abc]' 可以匹配 "plain" 中的 'a'。

    “[a-z]” 字符范围。匹配指定范围内的任意字符。例如,'[a-z]' 可以匹配 'a' 到 'z' 范围内的任意小写字母字符。

    “[^a-z]” 负值字符范围。匹配任何不在指定范围内的任意字符。例如,'[^a-z]' 可以匹配任何不在 'a' 到 'z' 范围内的任意字符。

    3.为什么\-\.需要加斜线而_不需要?

    \  转义符

    4.[]和()各表示什么?

    操作符的优先级:

    相同优先级的从左到右进行运算,不同优先级的运算先高后低。各种操作符的优先级从高到低如下:

    \  转义符

    (), (?:), (?=), []  圆括号和方括号

    *, +, ?, {n}, {n,}, {n,m}  限定符

    ^, $, \anymetacharacter  位置和顺序

    |    “或”操作


    5.+和*有什么意义?

    +” 元字符规定其前导字符必须在目标对象中连续出现一次或多次。例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等价于 {1,}。

    *” 元字符规定其前导字符必须在目标对象出现零次或连续多次。例如,zo* 能匹配 "z" 以及 "zoo"。* 等价于{0,}。

    ” 元字符规定其前导字符必须在目标对象中连续出现零次或多次。例如,"do(es)?" 可以匹配 "do" 或 "does" 中的"do" 。? 等价于 {0,1}。


    6./^.....$/代表啥意思?

    如果能把这些问题搞懂详细你的正则表达式也算入门了吧 呵呵!

    2.jQuery源码中正则表达式 quickExpr = /^(?:[^<](<[\w\W]+>)[^>]$|#([\w-]*)$)/通过它在检查jQuery的选择器Selector到底是<...>还是#id形式。如果是HTML字符串,那么会得到[match, match, undefined],而#id形式会得到[#id, undefined, id]的结果。这样就把字符串区别开了

    例如:

    quickExpr = /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/;
    match = quickExpr.exec( "#item");
    console.info(match);//["#item", undefined, "item"]
    quickExpr = /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/;
    match = quickExpr.exec( "<a>hello,world!</a>");
    console.info(match);//["<a>hello,world!</a>", "<a>hello,world!</a>", undefined]


    (?:pattern) 匹配pattern但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。这在使用或字符“(|)”来组合一个模式的各个部分是很有用。例如“industr(?:y|ies)”就是一个比“industry|industries”更简略的表达式。

  • 相关阅读:
    jQuery事件
    jQuery的效果
    jQuery 选择器
    中级 jQuery 了解
    回调函数 callback()
    预加载
    表格对象的方法
    script中type属性讲解
    将数据渲染到页面的方式:模版
    将数据渲染到页面的几种方式
  • 原文地址:https://www.cnblogs.com/zendwang/p/2358962.html
Copyright © 2011-2022 走看看