首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

14.2  如何使用正则表达式

为了让读者对正则表达式能有一个感性的认识,下面列举一个从指定字符串中搜索子字符串“abc”的实例,其代码如源程序14.1所示。

//源程序14.1

<!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.0//EN"

"http://www.w3.org/TR/REC-html140/strict.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<title>Sample Page!</title>

<script language="JavaScript" type="text/javascript">

<!--

function test1(obj)

{

  var myString=obj.test.value;        //获得输入的文本值

  var myregex=new RegExp("abc");   //创建正则表达式

  if (myregex.test(myString))         //调用test方法    

    alert("\n搜索结果:\n\n目标字符串中存在子串''abc''!");

  else

    alert("\n搜索结果:\n\n目标字符串中不包含子串''abc''!");

}

-->

</script>

</head>

<body>

<center>

<p>判断输入的字符串中是否包含子串"abc"</p>

<p>目标字符串:

<form onSubmit="return test1(this);">   

  <input type="text" name="test" value="target string">

  <input type="submit" value="提交">

</form></p>

</center>

</body>

</html>

程序运行后,结果页面如图14.1所示。

图14.1  程序运行后的原始页面

若在文本框内输入字符串“yangshuiqing”,并单击“提交”按钮后,将弹出警告框如图14.2所示。

若在文本框输入字符串“xiao yang abc”,并单击“提交”按钮后,将弹出警告框如图14.3所示。

                        

图14.2  输入字符串“yangshuiqing”                    图14.3  输入字符串“xiao yang abc”

在上述代码中使用正则表达式构造函数RegExp()生成正则表达式实例myregex,并调用其test()方法检测目标字符串:

var myregex = new RegExp("abc");  //创建正则表达式

if (myregex.test(myString))          //调用test方法

综合以上实例可知,使用正则表达式进行相关判断可分为以下三步。

— 创建正则表达式:在JavaScript中,RegExp对象被专门用来完成有关正则表达式的创建以及后续操作,每一个正则表达式模式对应一个RegExp对象实例。RegExp对象将在后续小节进行专门叙述。

— 调用相关对象的方法,得到匹配结果:操作正则表达式的方法有多种,如RegExp对象的test()、exec()、compile()方法以及String对象的search()、match()、replace()、split()方法等。这些方法将在后续小节中详细讨论,并给出相应的实例。

— 对结果进行操作:在第二步实现相应的操作并获得匹配结果后,开发者可以根据结果进行相关操作,如产生警告框、报错、重置等。

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论