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);
如果要想得到匹配的个数:
相关文档:
我们有时获取 styl.width为空的时候,可以获取css中的width..
但ie and ff 是不同的。。
ie:
obj.currentStyle['width']
ff:
var css = document.defaultView.getComputedStyle(obj, null);
css.getPropertyValue('width') ......
1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键
<table border oncontextmenu=return(false)> <td>no </table> 可用于Table
2. <body onselectstart="return false"> 取消选取、防止复制
3. onpaste="return false" 不准粘贴
4. oncopy="return false;" oncut="re ......
由于安全方面的考虑,Javascript被限制了跨域访问的能力,但是有时候我们希望能够做一些合理的跨域访问的事情,那么怎么办呢?
这里分两类情况:
一、基于同一父域的子域之间页面的访问;参见如下3个domain域:taobao.com、jipiao.taobao.com、promotion.taobao.com;它们有相同的父域taobao.com。
二、基于不同父域页面 ......
日前,Mozilla 的 Arun Ranganathan 向 W3C 提交了一个草案,旨在推出一个 JavaScript API,让
JavaScript 脚本直接操作本地文件,Firefox 的最新浏览器版本中已经对该 API 提供了大量的支持,不过出于安全考虑,该API
将只对本地文件提供有限的访问。
该 API 引入了一个 FileReader 对象,可以异步加载本地文件系统中的 ......
"#"包含了一个位置信息
默认的锚点是#top 也就是网页的上端
而javascript:void(0) 仅仅表示一个死链接
这就是为什么有的时候页面很长浏览链接明明是#可是跳动到了页首,而javascript:void(0) 则不是如此
所以调用脚本的时候最好用void(0)
或者<input onclick>
<div onclick>等
打开新窗口链接的几种办法 ......