zoukankan      html  css  js  c++  java
  • JavaScript(三) 正则表达式 以及实现的功能

    RegExp 是正则表达式的缩写。
    定义RegExp正则表达式

    RegExp 对象用于存储检索模式。

    通过 new 关键词来定义 RegExp 对象。以下代码定义了名为 p 的 RegExp 对象,其模式是 "e":

    var p=new RegExp("e");  

    当您使用该 RegExp 对象在一个字符串中检索时,将寻找的是字符 "e"。

    用符号来描述书写规则:/中间写正则表达式/
            ^ 匹配开头    /^ve/ 以ve开头的
            $ 匹配结尾    /ve$/ 以ve结尾的
            d     一个任意的数字
            w     一个任意的数字或字母
            s     任意字符串
            {n} 把左边的表达式重复n遍
            {m,n}  把左边的表达式重复至少m遍,至多n遍
            {m, }  把左边的表达式重复至少m遍,至多不限
            + 左边的表达式,至少出现一次,至多不限,相当于{1, }
            * 左边的表达式,至少出现0次,至多不限,相当于{0, }
            ? 左边的表达式,至少出现0次,至多出现1次,相当于{0,1}
            [a,b,c]  只能取方括号中内容之一
            [a-z]或[1-9] 在范围中取其一
            | 代表或者
            ()  优先级
    var p=new RegExp("e");  后面括号里的引号里写入正则表达式.
    _________________________________________________我是华丽的分割线_____________________________________________________

    RegExp 对象的方法

    RegExp 对象有 3 个方法:test()、exec() 以及 compile()。

    Test()

    test()方法检索字符串中的指定值。返回值是 true 或 false。

    看看要比对的字符串有木有规定的,有就true 没有就false

         

    引号里面不含"e" 返回false

    包含e 反回true

    exec()

    exec() 方法检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null。

    看看要比对的字符串有木有规定的,有返回规定的,没有返回null

    让他去找e,有就返回e

    让他去找w, 没有找不到返回null

    
    

    compile()

    
    

    compile() 方法用于改变 RegExp。

    
    

    compile() 既可以改变检索模式,也可以添加或删除第二个参数。

    由于字符串中存在 "e",而没有 "d". 返回 truefalse

    
    
    _________________________________________________我是华丽的分割线_____________________________________________________
    正则表达式判断是否是身份证号

    <body>
    <script>
    function func()
    {
        var ceshi=new RegExp(/^[0-9]{17}[0-9|X]$/);
        var q=document.getElementById("a").value;
        if(ceshi.test(guo))
        {
            alert("正确");
        }
        else
        {
            alert("错误");
        }
    }
    </script>
    
    请输入身份证号
      <input id="a" type="text" /><input name="sa" type="submit" onclick="func()" value="提交"/>
    </body>

    判断是否是邮箱

    <script>
    function you()
    {
        var youxiang=new RegExp("([a-z0-9_.-]+)@([da-z.-]+).([a-z.]{2,6})");
        var q=document.getElementById("a").value;
        if(youxiang.test(guo))
        {
            alert("正确");
        }
        else
        {
            alert("错误");
        }
    }
    
    </script>
    请输入邮箱
      <input id="a" type="text" /><input name="sa" type="submit" onclick="you()" value="提交"/>

    
    
    
    
    
     
  • 相关阅读:
    thinkphp怎么修改配置进入默认首页
    apache中怎么配置网站的默认首页
    [转]数据库更新(Update语句)查询
    ACCESS删除datagridview和数据库中的一条数据,同时更新显示的方法源码
    想ACCESS数据库插入新的用户
    C# 对象不能从 DBNull 转换为其他类型。
    windows form参数传递过程
    向ACCESS数据库中的表导入EXCEL表,在 System.Data.OleDb.OleDbException 中第一次偶然出现的“System.Data.dll”类型的异常
    C#实现Access导入导出Excel
    dataGridView1.DataSource,解决查询结果不从第一行显示,而是不断往表下面扩展问题
  • 原文地址:https://www.cnblogs.com/18553325o9o/p/4680753.html
Copyright © 2011-2022 走看看