<script language="javascript" type="text/javascript"> var testNumber = "ab#cd"; var testReg= /(ab)#(cd)/; function funInit(){ //alert(isNaN(testNumber));// isNaN(is not a number) var reg = new RegExp(testReg); //reg.test('1235');//检查是否匹配,返回true 和false //reg.exec('1235');//进行匹配,返回结果数组或null //reg.match('1235');//进行匹配,返回结果数组或null //reg.search('1235');//进行匹配,返回有效匹配位置,如不匹配返回-1 //testReg.replace('1235',"newString");//使用"newString"替换所有匹配位置 //testReg.split('1235',size);//进行匹配,并将字符串分割成数组。size可选,用于控制数组元素数量 //alert("good:haha".replace(/(good):(haha)/,"$2 $1"));//通过圆括号交找换字符顺序.括号中的结果存放在$1~$9中 (结果haha good) } </script>
最近看了一本关于JavaScript 的书。感觉正则表达式很强大。
http://regexpal.com/ 可以测一下自己的正则
1)test 检查指定的字符串是否存在
2)exec 返回查询值
3)match 得到查询数组
4)search 返回搜索位置 类似于indexof
5)replace 替换字符 利用正则替换
6)split 利用正则分割数组
/good/gi 中的 gi 是不区分大小写
/(Mouse){2}/ 相当于 /MouseMouse/
/(Mouse){2,}/ 至少匹配 2 次
/(Mouse){2,4}/ 至少匹配 2 次最多匹配4次
/(red|black)/ 相当于 /rdd/.test() || /black/.test()
?零次或一次
*零次或多次
+最少一次或多次
s:用于匹配单个空格符,包括tab键和换行符;
\S:用于匹配除单个空格符之外的所有字符;
\d:用于匹配从0到9的数字;
\w:用于匹配字母,数字或下划线字符;
\W:用于匹配所有与\w不匹配的字符;
. :用于匹配除换行符之外的所有字符。
(说明:可以把\s和\S以及\w和\W看作互为逆运算)
“^”定位符规定匹配模式必须出现在目标字符串的开头*#*@*$*%*出现在 “[]”内时就被视做否定运算符
“$”定位符规定匹配模式必须出现在目标对象的结尾
“\b”定位符规定匹配模式必须出现在目标字符串的开头或结尾的两个边界之一
“\B”定位符则规定匹配对象必须位于目标字符串的开头和结尾两个边界之内,即匹配对象既不能作为目标字符串的开头,也不能作为目标字符串的结尾。
(说明:可以把“^”和“$”以及“\b”和“\B”看作是互为逆运算的两组定位符)
要在正则表达式的模式中加入元字符,并查找其匹配对象时,可以使用转义符“\”.如 zh\*
匹配中文字符的正则表达式: [u4e00-u9fa5]