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,提取到去了首尾空格的字符,并替换并返回。
在条件成立的情况下,惰性匹配是尽少匹配原则,
在条件成立的情况下,贪婪匹配是尽多匹配原则,