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="提交"/>



 

 
posted @ 2015-07-27 17:34  SaYes  阅读(315)  评论(0编辑  收藏  举报