正则表达式
发布时间:2020-12-13 22:52:24 所属栏目:百科 来源:网络整理
导读:1.介绍 在web前端开发中,难免不会用到对用户的输入进行客户端验证(服务端验证时另一回事了,不多说),只有合法的数据才能提交到服务器端处理,负责服务器很容易遭恶意攻击,要验证用户的输入,线程的js或者jquery插件有Validform等,可是他们都是写了一部
1.介绍在web前端开发中,难免不会用到对用户的输入进行客户端验证(服务端验证时另一回事了,不多说),只有合法的数据才能提交到服务器端处理,负责服务器很容易遭恶意攻击,要验证用户的输入,线程的js或者jquery插件有Validform等,可是他们都是写了一部分规范的验证,是不可能满足差异化的验证的,那如何自定义符合自己标准的验证条件那,就不得不用到正则表达式,正则表达式的用途往简单了说就是来检验字符串是否符合你的要求的,正则表达式可以用于js中,c#,java等很多语言都支持的,都提供了相应的对象或者类给开发者使用,这里以js中使用为例,其他一眼类似,不过多说明2.构建正则表达式要使用正则表达式,我们首先需要知道使用正则表达式的步骤,很简单,就2步,构建正则表达式对象,调用构建对象的test(),传递字符串为参数,或者调用字符串对象的search,match,replace,split方法,把构建的正则表达式对象传递给该方法作为参数,即可,和强类型语言没有什么本质取别,js构建正则表达式对象有两种方法1>直接量语法如下面的格式var reg = /pattern/attributes 参数 pattern 是一个字符串,就是我们制定的验证规则,这个后面会着重介绍 参数 attributes 是一个可选的字符串,一般留空,可供我们使用的字符串有"g"、"i" 和 "m",分别用于指定全局匹配、区分大小写的匹配和多行匹配,ECMAScript 标准化之前,并不支持 m 属性,如果 pattern 是正则表达式,而不是字符串,则必须省略该参数,其实要是用的话,也就i相对常用一些 2>创建 RegExp 对象的语法var reg = new RegExp(pattern,attributes);//和强类型语言一样,这里可以这样理解,就是new出来一个RegExp对象的实例,对应强烈性语言中的new出类的对象,js中是没有类这个概念的,参数意义和上面的相同就不多说了,下面着重说pattern的构建3.构建正则表达式参数patternpattern可以使用的字符大致分为3类1>元字符,是拥有特殊含义的字符,类似强类型语言中的特殊字符类似(如下 字符),
2>量词,就是用来修饰前一个字符可以出现的次数
0-9 数字 a-z 小写字母 A-Z 大写字母 [] 表示只要有一个字符符合[]内的规则,既符合条件 [^] 表示要搜索不包含[]中任何字符的才符合条件,注意不在[]中的^的区别 | 或者的意思 4.简单实例var reg = /^a[0-9]{0,9}c$/;reg.test("a54733c"); 5.正则表达式是如何运算的正则表达式是按照从左到右进行计算,并遵循优先级顺序,这与算术表达式非常类似,字符优先级如下当我们要改变优先级的时候最常用的是加小括号 6.常用正则表达式
7.参考地址http://msdn.microsoft.com/zh-cn/library/ae5bf541(v=vs.90).aspx http://www.w3school.com.cn/jsref/jsref_obj_regexp.asp(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |