正则表达式
目录
- 为什么需要正则表达式
- 什么是正则表达式
- 正则表达式的应用
1.为什么需要正则表达式?
>在开发HTML表单时经常会对用户输入的内容进行验证。然而不能随便输入,检测就是正确的,必须需要严谨验证,这就需要正则表达式了。
>但在工作中对表单验证不是简单验证输入内容的长度,是否是数字,字母等,通常是会验证输入内是否符合某种格式。
>如果用介绍的方式介绍验证就会非常繁琐和代码量非常大,使用正则表达式就会简洁许多,并且验证的内容会非常准确。
function checkEmail(){ var email=$("#email").val(); var email_prompt=$("#email_prompt"); $email_prompt.html(""); var reg=/^\w+@\w+(\.[a-zA-z]{2,3)){1,2))$/; if(reg.test(email)==false){ $email_prompt.html("Email格式不正确,请重新输入"); return false; } return true; }
2.什么式正则表达式?
>正则表达式是一种表单验证技术
>也是一种描述字符模式的对象,它是由一些特殊的符号组成的,这些符号和在SQL Server中学过的通配符一样,其组成字符模式用来匹配各种表达式。
>RegExp对象是Regular Express jon(正则表达式)的缩写,它是对字符串执行模式匹配的强大模式匹配的强大工具。简单的模式可以是一个单独的字符,复杂的模式包括了更多的字符,如验证电子邮件地址,电话号码,身份证号码等字符串。
1)定义正则表达式
>定义正则表达式有两种构造模式形式,一种是普通方式,另一种是构造函数模式的方式。
1)普通方式 var reg=/表达式/附加参数 >表达式:一个字符串代表了某种规则,其中可以使用某些特殊的字符来代表特殊的规则,后面会详细介绍 >附加参数:用来扩展表达式的含义,主要有以下3个参数。 *g:代表可以进行全局匹配 *i:代表不区分大小写匹配 *m:代表可以进行多行匹配。 >3个参数可以任意组合,代表复合含义,当然也可以不参加数,例如: var reg=/white/; var reg=/white/g;
2)构造函数 var reg=new RegExp("表达式",“附件参数”); 其中表达式与附加参数的含义与上面普通方式中定义的含义相同。 例如: var reg=new RegExp("while"); var reg=new RegExp("white","g");
>普通方式中的表达式必须是一个常量字符串,而构造函数中的表达式可以是常量字符串,也可以是一个JavaScript变量。列如:根据用户的输入作为表达式的参数:
var reg=new RegExp($("#id").val(),"g");
2)表达式模式