|
怎样在JS里使用诸如VBS里的Trim类型函数的处理String数据?
JS中是没有类似VBS中的trim的函数的,那么如果要使用这样的处理String怎么做才好呢,刚从VBS转过来的时候,非常的不适应JS的那些方法。慢慢的,从网上或工作中找到一些适合的思路,结合实际整理一些相关内容列在这里。
【一】、如果想要能够删除字符串的前后空格(与 VBScript 的 Trim 函数类似),就可以给 String 原型对象创建自己的方法。
// 增加一个名为 trim 的函数作为 // String 构造函数的原型对象的一个方法。 String.prototype.trim = function() { // 用正则表达式将前后空格 // 用空字符串替代。 return this.replace(/(^\s*)|(\s*$)/g, ""); }
// 有空格的字符串 var s = " leading and trailing spaces ";
// 显示 " leading and trailing spaces (35)" window.alert(s + " (" + s.length + ")");
// 删除前后空格 s = s.trim(); // 显示"leading and trailing spaces (27)" window.alert(s + " (" + s.length + ")");
【二】、函数形式
<script language="JavaScript"> function trim(s) { if (s == null) { return s; }
var i; var beginIndex = 0; var endIndex = s.length - 1;
for (i=0; i<s.length; i++) { if (s.charAt(i) == ' ' || s.charAt(i) == ' ') { beginIndex++; } else { break; }
【三】、我自己的函数
function RTrim(str,trimStr) { //把str 中的含有trimStr的子串换成空 var trimString=new String(trimStr); var trimCode=trimString.charCodeAt(0); var toTrimStr=new String(str); var isStop=false; while((!isStop) && (toTrimStr.length>0)) { if(toTrimStr.charCodeAt(toTrimStr.length-1)==trimCode) { toTrimStr=toTrimStr.substr(0,toTrimStr.length-1); } else { isStop=true; } } return toTrimStr;
} function LTrim(str,trimStr) { //把str 中的含有trimStr的子串换成空 var trimString=new String(trimStr); var trimCode=trimString.charCodeAt(0); var toTrimStr=new String(str); var isStop=false; while((!isStop) && (toTrimStr.length>0)) { if(toTrimStr.charCodeAt(0)==trimCode) { toTrimStr=toTrimStr.substr(1,toTrimStr.length-1); } else { isStop=true; } } return toTrimStr;
} 2005-8-19 11:29:01
Posted by jser | 阅读全文() | 回复(0) | 引用通告() | 编辑
|