在JavaScript中我们需要用到trim的地方很多,但是JavaScript又没有独立的trim函数或者方法可以使用,所以我们需要自己写个trim函数来实现我们的目的
比如方法一:
- String.prototype.trim= function(){
- // 用正则表达式将前后空格
- // 用空字符串替代。
- return this.replace(/(^s*)|(s*$)/g, "");
- }
方法二:
- function trim(str){
- for(var i = 0 ; i<str.length && str.charAt(i)==" " ; i++ ) ;
- for(var j =str.length; j>0 && str.charAt(j-1)==" " ; j--) ;
- if(i>j) return "";
- return str.substring(i,j);
- }
Javascript中S.replace(/(^s*)|(s*$)/g, "");的 (^s*)|(s*$) 是什么意思的?
首先是把/(^s*)|(s*$)/g 替换为""
然后,/.../g 里面的,是表示放置通配符的地方,g代表全局参数,(^s*)或者(s*$)都将被替换为""
匹配首尾空白字符的正则表达式:^s*|s*$ 可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式
javascript内实现trim的方法
直接拷贝的话,空格可能出现问题,请仔细检查
- function trim(str)
- {
- for(var i = 0 ; i<str.length && str.charAt(i)==" " ; i++ ) ;
- for(var j =str.length; j>0 && str.charAt(j-1)==" " ; j--) ;
- if(i>j) return "";
- return str.substring(i,j);
- }
方法二:
- // 增加一个名为 trim 的函数作为
- // String 构造函数的原型对象的一个方法。
- String.prototype.trim = function()
- {
- // 用正则表达式将前后空格
- // 用空字符串替代。
- return this.replace(/(^s*)|(s*$)/g, "");
- }
- // 有空格的字符串
- var s = " 我的长度 ";
- // 显示trim前长度
- window.alert(s + " trim前长度: (" + s.length + ")");
- // 删除前后空格
- ss = s.trim();
- // 显示trim后长度
- window.alert(s + " trim后长度:(" + s.length + ")");
方法3:
- //javascript中调用vbscript的函数,构造一个javascript版的trim 函数
- <html>
- <head>
- </head>
- <body>
- <p> </p>
- <script language=vbscript>
- function VBTrimStr(temStr)
- VBTrimStr=trim(temStr)
- end function
- </script>
- <script language=javascript>
- function TrimStr(temStr){
- return VBTrimStr(temStr)
- }
- </script>
- <form name=fmTest>
- <input type=text name=txtTest>
- <input type=button name=btnOk value=ok>
- </form>
- <script language=javascript for=btnOk event=onclick>
- var getStr=document.fmTest.txtTest.value
- alert("*" + getStr + "*")
- getStr=TrimStr(getStr)
- alert("*" + getStr + "*")
- </script>
- </body>
- </html>
|
文章点评