javascript的正则表达式
	
    
    
	正则表达式一般有以下功能: 
 测试字符串的某个模式。例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式。这称为数据有效性验证 
 替换文本。可以在文档中使用一个正则表达式来标识特定文字,然后可以全部将其删除,或者替换为别的文字 
 根据模式匹配从字符串中提取一个子字符串。可以用来在文本或输入字段中查找特定文字
在js中可以通过以下方式建立以个正则表达式:
1. var regex = /pattern/flag;
2. var regex = new RegExp("pattern", "flag"); 
参数: 
pattern(模式) :表示正则表达式的匹配模式
flag(匹配的方式):在以上两种创建表达式的方式中,flag的值不是必须指定的,如果要制定,它有以下值:
g: global match(全定匹配) 
i: ignore case(忽略大小写) 
m: multiline(多行查找) 
可以组合使用,如果用gi,即both global match and ignore case,匹配所有可能的值,也忽略大小写
使用RegExp构造函数与使用正则表达式字面量创建正则表达式注意几点:
var str = "\?";   
alert(str); //只会输出?   
var re = /\?/; //将匹配?   
alert(re.test(str)); //输出true   
re = new RegExp("\?"); //出错,因为这相当于re = /\?/   
re = new RegExp("\\?"); //正确,将匹配?   
alert(re.test(str));//输出true
 
当我们创建好匹配表达式后,就可以对字符串操作了:
test方法:
var str = "43432dsads3424";
regex.test(str); 
该语句返回一个 Boolean 值,它指出在被查找的字符串中是否存在模式。如果存在则返回 true,否则就返回 false。
exec,用正则表达式模式在字符串中运行查找,返回包含查找结果的一个数组
var src = "hello32432";
var re = new RegExp("[0-9]","gi");
while ((arr = re.exec(src)) != null) {
    document.write(arr); //输出得到的数组
} 
另外,字符串本身也提供一些方法,可以结合正则表达式,对自身做相应的操作:
match(regex): 是否匹配正则表达式
var str = "hello world, hello kitty";
var regex = /hello/gi;
alert(str.match(regex)); 
replace:根据相应的正则表达式对字符串进行替换:
re = /apples/gi;
str = "Apples are round, and apples are juicy.";
//将str中所有匹配apples的替换成oranges
newstr=str.replace(re, "oranges");
document.write(newstr); 
如果要想得到匹配的个数:
    
     
	
	
    
    
	相关文档:
        
    
    ugmbbc发布于 2009-11-14 09:41:43| 7628 次阅读 字体:大 小 打印预览
var ReTitle = '回复:Google 排名中的 10 个最著名的 JavaScript 库';  
感谢COMSHARP CMS的投递
新闻来源:tripwiremagazine.com
JavaScript 是 Web 开发与设计中不可或缺的东西,不管是一个简单的网页还是一个专业的站点,也不管你是高手还是菜鸟 ......
	
    
        
    
      <input type=text onkeypress="return event.keyCode>=48&&event.keyCode<=57||(this.value.indexOf('.')<0?event.keyCode==46:false)" onpaste="return !clipboardData.getData('text').match(/\D/)" ondragenter="return false">
  <asp:TextBox ID="TextBox1" runat="server"  onkeyu ......
	
    
        
    
     <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head  ......
	
    
        
    
    第一步:在IE的“Internet设置”中选择“高级”——“安全”——“启用集成windows身份验证”。
第二步:在需要调试的页面的脚本中加上debugger; 然后运行这个页面,就会在这里停下来
例如:
function BtnSubmit_Click()
{
var aaa;
aaa='aaa';
debugg ......
	
    
        
    
     
经常会在js里用到数组,比如 多个名字相同的input, 若是动态生成的, 提交时就需要判断其是否是数组. 
if(document.mylist.length != "undefined" ) {} 这个用法有误.
正确的是 if( typeof(document.mylist.length) != "undefined" ) {} 
或 if( !isNaN(document.mylist.length) ) {}
typeof ......