This Domain(Admin5.com) is for Sale:

如何使用JavaScript和正则表达式进行数据验证

时间:2007-12-27  来源:不详  作者:林子

数据验证是网络应用软件从客户端接受数据的重要步骤,究竟,您需要在使用客户数据前确保其符合预期的格式。在网络应用程序中,您可以选择使用特定平台的工具,比如ASP.NET、JSP等等,或者您可以利用客户端JavaScript的优势,JavaScript中的正则表达式可以简化数据验证的工作。

织梦内容管理系统

正则表达式 dedecms.com

正则表达式是一种模式匹配的工具,它答应您以文字方式来表述模式,因而正则表达式成为了一个验证文本数据的强大工具。除了模式匹配之外,正则表达式还可以用于文字替换。从我在UNIX系统上使用Perl时第一次接触到正则表达式开始,对正则表达式的支持就一直在不断延伸。 织梦好,好织梦

注重:假如您身边有很多其他的开发者,正则表达式可能会被称作RegEx或者RegExp。尽管正则表达式的功能强大,不过其语法有点“神秘”,需要花一些时间来把握,下面就让我们来看看使用正则表达式的一些基础知识。 内容来自dedecms

基本语法 织梦好,好织梦

正则表达式的语法可以应用得很复杂,甚至需要一整本书来讲解这个题目,但是我将讲解其中一部分基本知识来帮助您获取正则表达式的初步熟悉。 织梦内容管理系统

一个基本概念是锚(anchor),它答应您指定字符串的起点和终点,脱字符(^)用于指定字符串的起点而美元符号($)则表示终点。假如需要在查询字符串中含有脱字符或者美元符号,您可以使用转义序列来实现,转义字符()是优先于脱字符或者美元符号之处理的。以下的例子会在单词search在字符串中出现时进行匹配。

内容来自dedecms

^search$

dedecms.com

而且,您还可以查找一组字符,只要将它们放在方括号中就行了,比如[ and ],相匹配的字符必需属于这个字符组,一个例子是在[12345]的范围内寻找匹配的数字1到5,该正则表达式也可以写作[1-5]。

织梦内容管理系统

很多时候您可能需要指定可以出现多次的字符,或者可选的字符,问号(?)的意思是该字符是可选的,加号( )的意思是该字符可以出现一次或者多次,星号(*)的意思是该字符可以不出现或者出现多次。

织梦好,好织梦

现在让我们来看看如何将这些简单的正则表达式应用到JavaScript上。 织梦内容管理系统

JavaScript支持 dedecms.com

JavaScript在1.2版本中添加了对正则表达式的支持,浏览器的支持则开始于Internet Explorer 4和Netscape 4,所有的Firefox 版本以及大多数现代浏览器都包含了JavaScript的支持。正则表达式可以通过JavaScript的字符串和RegExp来使用。

织梦好,好织梦

使用字符串

织梦内容管理系统

每个JavaScript字符串都可以通过三种方法来支持正则表达式,这三种方法是match()、replace()和search(),而且对象的test() 方法还答应您进行测试。以下是关于match()、replace()和search()方法的信息: copyright dedecms

match(): 用于正则表达式匹配,假如多个匹配出现,则返回一个含有所有匹配结果的数组,数组中的每一个条目都是一份包含了匹配数据的拷贝;假如没有匹配值,则返回空值。
replace(): 用于正则表达式匹配并将所有的匹配值替换为新的子字符串,本方法的第一个参数是正则表达式,第二个参数是进行替换的字符串。
search(): 用于在正则表达式与指定字符串之间搜索匹配值,假如出现匹配值,则返回字符串的索引值,假如没有匹配值,则返回-1。
JavaScript 还提供了RegExp对象来创建并使用正则表达式。 本文来自织梦

RegExp

本文来自织梦

RegExp对象包含了正则表达式的模式,该对象的方法和属性可以用来匹配字符串,有两种方法可以用来创建RegExp对象的实例:使用构造函数或使用正则表达式文本模式的文字方式,第二个参数是可选的,该参数可以指定该搜索是全局的(g)、忽略大小写的(i)或者全局同时忽略大小写(gi)。以下的例子是使用构造函数创建RegExp对象的方法,在这个例子中,搜索对象的大小写是被忽略的: 织梦内容管理系统

testRegExp = new RegExp("^search$","I") 本文来自织梦

您可以使用文字方式来创建相同的实例(在斜杠中的部分),如下所示:

看完这篇,您有何感觉呢?

文章评论

共有位Admini5网友发表了评论 查看完整内容

24小时热门信息