新疆软件开发

本站首页 软件开发 成功案例 公司新闻 公司简介 客服中心 软件技术 网站建设
  您现在的位置: 新疆二域软件开发公司 >> Java技术 >> 文章正文

JavaScrip中t的模式匹配与正则表达式

模式表达式首尾带有“/”,声明并初始化正则表达式对象可以使用RegExp对象,也可直接将用“/”包含的模式表达式赋值给变量。
模式表达式中的字符
字符 含义
\  (1)一个特殊标记的开始(例:\d表示一个数字)
(2)把一个特殊字符当做普通字符对待(例:\*表示一个星号)
^ 字符串的开头
$ 字符串的结尾
* 特殊数量符,表示它前面的标记或标记组合出现任意次(包括0次)
+ 特殊数量符,表示它前面的标记或标记组合出现至少一次
? 特殊数量符,表示它前面的标记或标记组合出现至多一次
. 表示除了换行符(\n)之外的任意单个字符
(abc) 表示abc这个组合
a|b 表示a或者b
{3} 表示它前面的标记或标记组合出现3次
{3,} 表示它前面的标记或标记组合至少出现3次
{4,8} 表示它前面的标记或标记组合出现4次至8次
[abcdef] 这是枚举形式,表示a至f六个字母中的任意一个
[a-f] 这是简化形式,表示a至f六个字母中的任意一个
[a-zA-Z0-9] 表示大小写字母及数字中的任意一个
[^aeiou] 表示除了a,e,i,o,u处的任意一个
\b 表示一个单词的边界
\B 表示一个单词的非边界
\d 表示一个数字,相当于[0-9]
\D 表示除了数字外的字符,相当于[^0-9]
\s 表示一个空格符
\S 表示除了空格外的字符
\t 表示一个制表符
\n 表示一个换行符
\r 表示一个回车符
\w 表示大小写字母、数字及下划线(_)中的任意一个,相当于[a-zA-Z0-9]
\W 表示大小写字母、数字及下划线(_)之外的任意一个,相当于[^a-zA-Z0-9]
\0 表示空字符null
  <script language="javascript"> 
<!-- 
var pattern = /^d...{6}$/; //声明了正则表达式对象 
function checkZipCode() 
...{ 
    var zipcode = document.getElementById("zipcode").value; 
    if(!pattern.test(zipcode)) //进行模式匹配 
    ...{ 
        alert("邮政编码无效!"); 
        return; 
    } 
    alert("ok!"); 

--> 
</script> 
邮政编码:<input type="text" id="zipcode"><input type="button" value="check" onclick="checkZipCode();">RegExp 对象
RegExp对象的构造函数:RegExp(pattern,attributes)
例:var p = new RegExp("s$"); //任何以s结尾的字符串
参数:pattern 是模式表达式,也可以是一个正则表达式对象。
参数:attributes可以是"g"、"i"或"m"
g:表明搜索模式为全局匹配
i:表示在匹配过程中忽略大小写
m:表示支持多行匹配

RegExp对象的属性
lastIndex属性:用于在全局匹配模式下记录最近一次执行exec()或test()方法匹配到的字符索引,以便从该位置继续下一次匹配。
source属性:代表模式表达式,不包含首尾“/”
RegExp对象的方法
exec方法:用于执行较为全面的模式匹配,其参数是将进行匹配的字符串,返回值为数组类型。
数组中的第一个元素是与模式表达式匹配的那部分文本。返回的数组还有以下几个属性:
length:表明数组的长度
index:表明匹配的文本首字母在字符串中的位置(索引)
input:字符串本身
<script language="javascript">
<!--
var pattern1 = new RegExp("\bJava\B","g");
var text = "JavaScript is more fun than Java or JavaBeans!";
var result;
while((result = pattern1.exec(text)) != null)...{
    document.write("匹配文本为:" + result[0] + " 位置为:" + result.index + " 下次查找的起始位置:" + pattern1.lastIndex + "<br/>");
}

var pattern2 = /Java(s|b)/gi;
while((result = pattern2.exec(text)) != null)...{
    document.write("返回的第一个元素:" + result[0] + " 返回的第二个元素:" + result[1] + "<br/>");
}
-->
</script>

作者:未知 | 文章来源:未知 | 更新时间:2007-12-11 16:44:54

  • 上一篇文章:

  • 下一篇文章:

  • 相关文章:
    没有相关文章
    软件技术
    · 开发语言
    · Java技术
    · .Net技术
    · 数据库开发
    最新文章  
    ·j2se 嵌入式脚本抓取引擎
    ·JAVA开发的6个实践的例子
    ·JBuilder7 / Weblogic7开发
    ·JAVA中的抽象类型的一些概
    ·java语言开发程序中的几个
    ·了解java开发语言在软件开
    ·如何才能使用Java实现内部
    ·Java开发学习小心使用Date
    ·Java程序员应该了解那些开
    ·java性能优化的一些见解
    ·介绍JDK5.0一些collection
    ·基础学习:java中使用存储
    ·解析c#语言和java语言最相
    ·Java语言学习:jAVA中 的多
    ·Java是不是应该增加新特性
    关于我们 | 软件开发 | 下载试用 | 客服中心 | 联系我们 | 友情链接 | 网站地图 | 新疆电子地图 | RSS订阅
    版权所有 © 2016 新疆二域软件开发网 www.k8w.net All Rights Reserved 新ICP备14003571号
    新疆软件开发总机:0991-4842803、4811639.
    客服QQ:596589785 ;地址:新疆乌鲁木齐北京中路华联大厦A-5C 邮编:830000