日期:2014-05-16  浏览次数:20358 次

javascript去除前后空格的正则方法

javascript去除前后空格的正则方法

?
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>心</title>
</head>
<body>


<script type="text/javascript">
var str = "?? 快知道,有问 题当然要快知?? ";

String.prototype.trim1 = function(){
var re = /^\s*(.+?)\s*$/;
return ??? this.replace(re,"$1");
}
String.prototype.trim2 = function(){
return ??? this.replace(/^\s+|\s+$/g,"");
}
document.title=document.title+ str.trim2()+document.title;
</script>
</body>
</html>

第一种方法,是利用“反向引用”,和“惰性匹配”原理,
先是贪婪匹配以空格为首的的全部空格,然后,惰性匹配,结尾以空格结束的字符,所以匹配到了“快知道,有问 题当然要快知“,最后贪婪匹配了后面的 空格,
然后以 反向引用 $1,提取到去了首尾空格的字符,并替换并返回。
在条件成立的情况下,惰性匹配是尽少匹配原则,
在条件成立的情况下,贪婪匹配是尽多匹配原则,