JavaScript中的正则替换
String.replace(regexp, replaceText); 这是String类中的replace方法原型
replace方法接受两个参数:
regexp: 正则表达式, 用来在字符串中搜索的规则.
replaceText: 用来替换字符串中匹配正则表达式的子串的字符串
在JavaScript中, 支持正则替换, 正则替换的规则如下:
$$: 原意打印一个$符号
$&: 与规则匹配的整个子串
$`(大键盘1旁边的键): 整个字符串中, 与规则匹配的子串之前的部分
$'(单引号): 整个字符串中, 与规则匹配的子串之后的部分
$n: $1, $2等从1-9的数值, 代表正则匹配得到的第n个子组的匹配子串
$nn: 第01-99个子组的匹配子串.
以字符串"abcdefg"使用正则表达式/(?:(bc)(de)(f))/进行正则替换为例(?:)表示是非捕获子组, 属于正则表达式范畴, 这里不做讨论
则有:
$&代表bcdef
$`代表a
$'代表g
$1代表bc
$2代表de
$3代表f
下面是一个比较完整的例子, 在例子中为了方便操作, 使用了jQuery, 可以到jQuery官方网站下载
http://jquery.com/
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Javascript练习-2-正则表达式</title>
<mce:script type="text/javascript" src="scripts/jquery-1.3.2.js" mce_src="scripts/jquery-1.3.2.js"></mce:script>
<mce:script type="text/javascript"><!--
$(function() {
var body = $('body');
function append(msg) {
return body.append($('<div>').text(msg));
}
function appendHtml(msg) {
return body.append($('<div>').html(msg));
}
function appendHr() {
return body.append($('<hr>'));
}
var re = /(https?):\/\/(\w+(?:\.\w+){2,})\/\?((\w+)=(\w+))/;
appendHtml("[prefix]http://www.google.com/?user=selfimpr[suffix].replace(re4, " +
"" +
"\"{" +
"url: '$&', " +
"prefix: '$`', " +
"suffix: '$'', " +
"protocal: '$1', " +
"server: '$2', " +
"queryString: '$3', " +
"argName: '$4', " +
"argValue: '$5'" +
"}\")");
appendHtml('<font color="red">' + "[prefi
相关文档:
一、建立网页
<html>
<head>
<meta http-equiv="Content-Language" content="zh-cn">
<script language="javascript" type="text/javascript">
<!-- 提供给C#程序调用的方法 -->
function messageBox(message)
{
alert(message);
}
</script>
</head>
& ......
一。取表格对象
var getTable= document.getElementById("tabHeTong");
二。插入行
var oTR = getTable.insertRow();//新增一行
三。某行加入列
var oTDa = oTR.insertCell();//新增一列
var oTDb = oTR.insertCell();//新增二列
var oTDc = oTR.insertCell();//新增三列
四。删除行:
getTable. ......
求 555.555的四舍五入保留两位小数
使用Math.round 怎么都算不对,结果都是555.55 ,貌似是因为java计算浮点数时会莫名其妙在结尾跟上一串数字 比如555.55500000003
无奈只能写这个方法
function round(a,b){
var s=a.toString().indexOf(".");
a0=a.toString().substr(0,s+b+1);
a1=Math.round(a.toString().sub ......