Welcome to IcyRiver'blog

Tuesday, September 26, 2006

Javascript中正则表达式的使用

这几天太忙,想看着就要转正,很多事情都压到我的头上。现在逐渐感到有压力和责任感,况且我们的产品是面向数亿中国网民的。有十多天没有更新blog了,今天简单说说正则表达式在javascript里的应用。下面一段话是摘录的:

“正则表达式的“祖先”可以一直上溯至对人类神经系统如何工作的早期研究。Warren McCulloch 和 Walter Pitts这两位神经生理学家研究出一种数学方式来描述这些神经网络。1956 年, 一位叫 Stephen Kleene 的美国数学家在 McCulloch 和 Pitts早期工作的基础上,发表了一篇标题为“神经网事件的表示法”的论文,引入了正则表达式的概念。正则表达式就是用来描述他称为“正则集的代数”的表达式,因此采用“正则表达式”这个术语。随后,发现可以将这一工作应用于使用Ken Thompson 的计算搜索算法的一些早期研究,Ken Thompson是Unix的主要发明人。正则表达式的第一个实用应用程序就是 Unix 中的qed 编辑器。”

使用正则表达式,可以作很多事情,包括:

  • 测试字符串的某个模式。例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式。这称为数据有效性验证。
  • 替换文本。可以在文档中使用一个正则表达式来标识特定文字,然后可以全部将其删除,或者替换为别的文字。
  • 根据模式匹配从字符串中提取一个子字符串。可以用来在文本或输入字段中查找特定文字。
下面举两个例子:

判断一个字符串是否符合URL标准格式
var urlRX = new RegExp("((^http)|(^https)):\/\/(\\w+\.)+(\\w)+(/[\\w-./?%&=]*)?");
if(!urlRX.test(yourString))   alert("It is an invalid url string");

判断一个字符串是否符合yyyy-mm-dd
hh:mm:ss时间格式
var timeRX = new RegExp("(\\d){4}-(\\d){2}-(\\d){2}[ ]{1}(\\d){2}:(\\d){2}:(\\d){2}");
if(!timeRX.test(
yourString)) alert("It is an invalid time string");


0 Comments:

Post a Comment

<< Home