概述
Javascript 正则表达式RegExp对象
1、 实例属性
global……Boolean值,表示g(全局选项)是否已设置。
ignoreCase……Boolean值,表示i(忽略大小写选项)是否已设置。
lastIndex……整数,代表下次匹配将会从哪个字符位置开始(只有当使用exec()或test()函数才会填入,否则为0)。
mulitiline……Boolean值,表示m(多行模式选项)是否已设置。
Source……正则表达式的源字符串形式。
2、 静态属性
长名 | 短名 | 描述 |
input | $_ | 最后用于匹配的字符串(传递exec()或text()的字符串 |
lastMatch | $& | 最后匹配的字符 |
lastParen | $+ | 最后匹配的分组 |
leftContext | $’ | 在上一次匹配的前面的子串 |
Multiline | $* | 用于指定是否所有的表达式都使用多行模式的布尔值 |
rightContext | $’ | 在上次匹配之后的子串 |
注意:IE和Opera并不支持RegExp.multiline,所以最好单独的对每个表达式设置m选项而不要直接设置这个标记。
3、 常用模式
3.1验证日期
dd/mm/yyyy的格式在欧洲很流行。
简单模式的写法:
var reDate=//d{1,2}///d{1,2}///d{4}/;
这个模式基本匹配格式dd/mm/yyyy,但并没有考虑到月份和天数的有效范围。如下,使用一个函数来检测日期是否有效。把正则表达式包装成函数。










3.2验证信用卡号
MasterCard必须包含16位数字,前两个数字必须是51-55之间的数字。























Luhn算法有四步,第一步是从卡号的最后一个数字开始,并逆向地逐个将奇数位置(1、3等)的数字相加。要判断当前的这个数字是否偶数位置上,可以使用Boolean标志(bIsOdd),起始时标记为True。因为最后一个位置是15.下一步是将偶数位置的数字相加,但必须先将数字乘2.如果结果是两位数,必须将两个位上的数相加,然后将结果加入到总和中。





















以上代码分析:toString()方法将数字转化成字符串。split()将字符串分割成有两个数字的数组(如12将被分割为包含"1"和"2"的数组)。join()并用加号将数组组合起来,这样"1"和"2"将得到"1+2"。将最后的字符串传给eval(),它可将字符串翻译为代码并执行(这样"1+2"就返回3)。最后一步是将两个总和(从奇数部分和偶数部分得来的)相加并对结果进行取模(取余数)操作,如果数字是合法的,那么结果应该可以被10整除(也就是应该等于20,30,40等)。
其他卡:Visa卡号可能有13位或16位,并且首位数字总和为4,因此,匹配Visa卡号(不带空格)的模式如下:








关于更多信用卡号模式和使用Luhn算法的信息,可以查http://www.beachnet.com/~hstiles/cardtype.html。
3.3验证电子邮件地址
代码如下:




可以这样调用这个函数:
alert("john.doe@somewhere.com"); //outputs "true"
alert("john.doe@somewhere."); //outputs "false"
最后
以上就是害羞冬日为你收集整理的Javascript 正则表达式RegExp对象的全部内容,希望文章能够帮你解决Javascript 正则表达式RegExp对象所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复