JavaScript正则表达式19例(1)

简介:

    这是我给大四学生上《Web程序设计》课时编写的一个例子,共包含了ECMAScript(即JavaScript)正则表达式的19类内容(作为19个小例子),涵盖了ECMAScript正则表达式的所有内容。是我原来用.NET的C#编写的正则表达式例子中的一部分,另外一部分由于ECMAScript不支持,所以无法转换成ECMAScript,例如非回溯模式、逆序正向和逆序负向预搜索

    自认为编写的由浅入深,言简意赅,深入浅出,呵呵~自诩了。

例1:匹配一个数字ID


  
  
  1. void function reg_01() //匹配一个数字ID  
  2. {  
  3.     var s1 = "12-12345",  
  4.         s2 = "12-1234567",  
  5.         s3 = "1-12345",  
  6.         s4 = "12-1234",  
  7.         s5 = "1212345678";  
  8.     var r = new RegExp("^\\d{2}-\\d{5,8}$""gim");  
  9.     for (i = 1; i <= 5; i++)  
  10.     {  
  11.         t = "alert(s" + i + ".match(r));";  
  12.         eval(t);  
  13.     }  

行1:定义一个无返回值函数;
行3-7:定义了一些字符串,用于正则表达式匹配测试;
行8:定义一个正则表达式,正则表达式是一个对象,所以使用new进行实例化,其中:
^符号表示从行首开始匹配,即前面不能再有其他字符,\d符号表示匹配数字字符,前面之所以还有一个\符号是因为ECMAScript中的字符\表示转义字符,写成\\即表示\字符本身,后面的{2}符号表示它前面的\d只能匹配两次,-符号表示只能匹配-字符,\d符号同样表示匹配数字字符,后面的{5,8}符号表示该数字字符只能匹配至少5次至多8次,最后的$符号表示匹配到字符串结尾,即后面不能再有其他字符,第二个参数的g表示global,即全文匹配,而不是只匹配第一个(匹配多个后形成一个数组,需通过索引访问),i表示ignore,即忽略大小写,m表示multiline,即多行匹配,例如$符号就可以匹配\r\n等;
行9-13:一个简单的for循环,循环5次,这里使用了一个技巧,以简化代码,本来需要调用五次String对象的match()方法来分别测试对象s1到s5,然后再五次调用alert()方法显示结果,显然这样做太麻烦,故而使用了eval()方法,eval()方法就是用来检查传入的字符串是否是一个合法的ECMAScript语句,如果合法,就执行该语句,这样,通过for循环逐一生成要执行语句的字符串表达,然后调用eval()方法就可以了。

运行结果:显然s1和s2是匹配的,s3的前半部分只有一个数字1,s4的后半部分不足5个数字,s5缺少字符-,因此s3、s4、s5都不匹配。

(未完待续……)










本文转自 BlackAlpha 51CTO博客,原文链接:http://blog.51cto.com/mengliao/465827,如需转载请自行联系原作者
目录
相关文章
|
2月前
|
JavaScript 前端开发
电话号码正则表达式 代码 javascript+html,JS正则表达式判断11位手机号码
电话号码正则表达式 代码 javascript+html,JS正则表达式判断11位手机号码
124 1
|
3月前
|
自然语言处理 JavaScript 前端开发
JavaScript 正则表达式
JavaScript 正则表达式
22 3
|
4月前
|
JavaScript 前端开发
js中通过正则表达式验证邮箱是否合法
这篇文章提供了一个JavaScript示例,通过正则表达式在网页上验证用户输入的邮箱地址是否合法,并给出了相应的提示信息。
js中通过正则表达式验证邮箱是否合法
|
6月前
|
机器学习/深度学习 JavaScript 前端开发
JavaScript中的正则表达式详细展示
JavaScript中的正则表达式详细展示
42 6
|
6月前
|
JavaScript 前端开发 测试技术
JavaScript进阶-正则表达式基础
【6月更文挑战第21天】正则表达式是处理字符串的利器,JavaScript中广泛用于搜索、替换和验证。本文讲解正则基础,如字符匹配、量词和边界匹配,同时也讨论了常见问题和易错点,如大小写忽略、贪婪匹配,提供代码示例和调试建议。通过学习,开发者能更好地理解和运用正则表达式解决文本操作问题。
50 1
|
5月前
|
JavaScript 数据安全/隐私保护
js 常用正则表达式【实用】
js 常用正则表达式【实用】
31 0
|
5月前
|
存储 JavaScript 前端开发
|
6月前
|
XML JavaScript 数据安全/隐私保护
一篇文章讲明白js常用js正则表达式大全
一篇文章讲明白js常用js正则表达式大全
37 0
|
6月前
|
JavaScript 程序员 索引
老程序员分享:JS基础知识(正则)
老程序员分享:JS基础知识(正则)
29 0
|
7月前
|
前端开发 JavaScript
前端 js 经典:正则表达式
前端 js 经典:正则表达式
60 2