`
hudeyong926
  • 浏览: 2018157 次
  • 来自: 武汉
社区版块
存档分类
最新评论

js String对象的扩展函数

 
阅读更多
String.prototype.trim = function() {
   return this.replace(/^\s+|\s+$/g,"");
}
String.prototype.ltrim = function() {
   return this.replace(/^\s+/g,"");
}
String.prototype.rtrim = function() {
   return this.replace(/\s+$/g,"");
}
String.prototype.splitAndTrim = function($delimiter, $limit)
{
	var $ss = this.split($delimiter, $limit);
	for(var $i=0; $i<$ss.length; $i++)
		$ss[$i] = $ss[$i].trim();

	return $ss;
}
String.prototype.htmlEntities = function () {
   return this.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;');
}
String.prototype.stripTags = function () {
   return this.replace(/<([^>]+)>/g,'');
}
String.prototype.toArray = function() {
   return this.split('');
}
String.prototype.toIntArray = function() {
   var returnArray = [];
   for (var i=0; i<this.length; i++) {
      returnArray.push(this.charCodeAt(i));
   }
   return returnArray;
}
String.prototype.replaceAll = function($old, $snew){    
	return this.replace(new RegExp($old,"gm"),$snew);    
}
//变量替换var a = "I Love {0}, and You Love {1},Where are {0}!";a.format("You","Me");
String.prototype.format = function(){
    var args = arguments;
    return this.replace(/\{(\d+)\}/g,function(m,i,o,n){
        return args[i];
    });
}
//在字符串末尾追加字符串
String.prototype.append = function($str){
	return this.concat($str);
}
//删除指定索引位置的字符,索引无效将不删除任何字符
String.prototype.deleteCharAt = function($sIndex){
	if($sIndex<0 || $sIndex>=this.length){
		return this.valueOf();
	}else if($sIndex==0){
		return this.substring(1,this.length);
	}else if($sIndex==this.length-1){
		return this.substring(0,this.length-1);
	}else{
		return this.substring(0,$sIndex)+this.substring($sIndex+1);
	}
}
//删除指定索引间的字符串.$sIndex和$eIndex所在的字符不被删除!依赖deleteCharAt
String.prototype.deleteString = function($sIndex, $eIndex){
	if($sIndex==$eIndex){
		return this.deleteCharAt($sIndex);
	}else{
		if($sIndex>$eIndex){
			var tIndex=$eIndex;
			$eIndex=$sIndex;
			$sIndex=tIndex;
		}
		if($sIndex<0)$sIndex=0;
		if($eIndex>this.length-1)$eIndex=this.length-1;
		return this.substring(0,$sIndex+1)+this.substring($eIndex,this.length);
	}
}
//检查字符串是否以某个字符串(str)结尾
String.prototype.endsWith = function($str){
	return this.substr(this.length - $str.length) == $str;
}
//检查该字符串是否以某个字符串开始
String.prototype.startsWith = function(str){
	return this.substr(0, str.length) == str;
} 
//比较两个字符串是否相等,不区分大小写!
String.prototype.equalsIgnoreCase = function($str){
	if(this.length!=$str.length){
		return false;
	}else{
		var tmp1=this.toLowerCase();
		var tmp2=$str.toLowerCase();
		return tmp1==tmp2;
	}
}
//将指定的字符串插入到指定的位置后面!索引无效将直接追加到字符串的末尾
String.prototype.insert = function($ofset, $str){
	if($ofset<0 || $ofset>=this.length-1){
		return this.concat($str);
	}
	return this.substring(0,$ofset)+$str+this.substring($ofset+1);
}
//将指定的位置的字符设置为另外指定的字符或字符串.索引无效将直接返回不做任何处理!
String.prototype.setCharAt = function($ofset, $str){
	if($ofset<0 || $ofset>=this.length-1){
		return this.valueOf();
	}
	return this.substring(0,$ofset)+$str+this.substring($ofset+1);
}
String.prototype.replaceLen = function(start, len, replaced) {  
    if(!len)  
        return this;  

    if(start >= this.length)  
        return this;  

    var returnSeg = '';  
    var returnSeg2 = '';  
    var i = 0;  
    for (; i < this.length; i++){  
        var c = this.charAt(i);  
        if(i < start)  
            returnSeg += c;  

        if(i >= start + len)  
            returnSeg2 += c;  
    }  

    return returnSeg + replaced + returnSeg2;  
}  
/** 
 * 扩展基础类 
 * 替换字符,这个在替换填入比较有用,比如***天***小时 替换为 <input />天<input />小时 
 **/  
String.prototype.replaceChar = function(target, replaced, start) {  
    if(!target)  
        return this;  
    if(!start)  
        start = 0;  

    var returnVal = this.substring(0, start);  
    var index = 0;  
    for (var i = start; i < this.length; i++) {  
        var c = this.charAt(i);  
        target = typeof target == 'function' ? target.call(this, index) : target;  
        if (c == target) {  
            returnVal += typeof replaced == 'function' ? replaced.call(this, index) : replaced;  
            while (i < this.length - 1 && this.charAt(i + 1) == c) {  
                i++;  
            }  
            index++;  
        }else{  
            returnVal += c;  
        }  
    }  

    return returnVal;  
}  
//将该字符串反序排列
String.prototype.reverse = function(){
	var str="";
	for(var i=this.length-1;i>=0;i--){
		str=str.concat(this.charAt(i));
	}
	return str;
}
//计算长度,每个汉字占两个长度,英文字符每个占一个长度
String.prototype.ucLength = function(){
	var len = 0;
	for(var i=0;i<this.length;i++){
		if(this.charCodeAt(i)>255)len+=2;
		else len++;
	}
	return len;
}
//在字符串的左边填充一些特定的字符
String.prototype.lpad = function(len, s) {
	var a = new Array(this);
	var n = (len - this.length);
	for ( var i = 0; i < n; i++) {
		a.unshift(s);
	}
	return a.join("");
}
//在字符串的右边填充一些特定的字符
String.prototype.rpad = function(len, s) {
	var a = new Array(this);
	var n = (len - this.length);
	for ( var i = 0; i < n; i++) {
		a.push(s);
	}
	return a.join("");
}
//把字符串的首字母转化为大写
String.prototype.ucwords = function() {
	return this.substring(0,1).toUpperCase().concat(this.substring(1));
}
String.prototype.contains = function($str) {
	return this.indexOf($str) > -1 ? true : false;
}
//将格式为2008-04-02 10:08:44的字符串转成日期(String对象的值必须为: 2008-04-02 10:08:44)
String.prototype.toDate = function(){
	var str = this.replace(/-/g,"/");
	return (new Date(str));
}
//将原来用字符串表示的十进数转成十进制浮点数: precision为精度
String.prototype.toFloat = function(precision){
	precision = precision || 2;
	return parseFloat(this,10).toFixed(precision);
}
//将原来用字符串表示的十进数转成十进制整数
String.prototype.toInt = function(){
	return parseInt(this,10).toString();
}
//将两个原来用字符串表示的十进数相加后当作字串返回 : addend为加数
String.prototype.add = function(addend){
	var sum = parseFloat(this,10) + parseFloat(addend,10);
	return sum+"";
}
//十进制转其他进制代码如下nextScale为进制 如2,8,16
String.prototype.shiftScale = function(nextScale){
	return parseFloat(this).toString(nextScale);
}
/**
 * 各进制互相转换
 * this对象必须是整数
 * @param preScale 原是是几进制数
 * @param nextScale  要转换成几进制数
 */
String.prototype.scaleShift = function(preScale,nextScale){
	return parseInt(this,preScale).toString(nextScale);
}
//全角2半角 document.write("ABC 123,我们都是好朋友");
String.prototype.dbc2sbc = function (){
	return this.replace(/[\uff01-\uff5e]/g,function(a){return String.fromCharCode(a.charCodeAt(0)-65248);}).replace(/\u3000/g," ");
}
分享到:
评论

相关推荐

    javascript string和array常用扩展方法

    javascript string和array常用扩展方法

    de1.7 轻量级的javascript扩展函数库

    de.js是一个轻量级的javascript扩展函数库,通过扩展页面元素的方法和属性、和扩展javascript内置类型的方法来帮助web前端开发人员实现更便捷和高效的编程。以下是主要特点: 支持类似jquery的选择器,同时支持类似...

    string.js:对 javascript String 对象的有用扩展

    对 javascript String 对象的有用扩展。 这直接扩展了String.prototype因此您可以像访问本机函数一样访问所有这些。 字符串大写 myStr.capitalise(); 将每个单词的第一个字母大写。 字符串.下划线 myStr....

    Javascript string 扩展库代码

    Javascript原生的String处理函数显得...问题3:我们需要什么样的string扩展函数?这个问题可以参考其他js库,以及其他语言的string操作函数Prototype.js对String类型的扩展:http://api.prototypejs.org/language/stri

    javascript函数的解释

    62.addBehavior()是一种JS调用的外部函数文件其扩展名为.htc 63.window.focus()使当前的窗口在所有窗口之前. 64.blur()指失去焦点.与FOCUS()相反. 65.select()指元素为选中状态. 66.防止用户对文本框中输入文本:...

    javascript Array数组对象的扩展函数代码

    我们经常给 String,Function,Array 的原型加上自定义的扩展函数,比如去除字符串空格,数组排序等

    JavaScript常用字符串与数组扩展函数小结

    String对象的扩展函数: String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g,); } String.prototype.ltrim = function() { return this.replace(/^\s+/g,); } String.prototype.rtrim = ...

    js Array对象的扩展函数代码

    使用 代码如下:[removed]var isNumeric = function(x) { //... return String(x).match(RegExp);}var myArray = [1,’two’,3,’four’,5,’six’,7,’eight’,9,’ten’];var oddArray=myArray.filter(isNumeric); 

    JavaScript对象验证库js-validator.zip

    js-validator 是 Laravel 风格的 JavaScript 对象验证库。使用 js-validator 来验证对象或者 JSON 是否符合规则非常方便,而且具有很好的可扩展性。举个例子var example = {  text: 'Hello world!',  date: ...

    02-javaWeb-css$js.7z

    String对象 图片轮播案例 补充 运算符 语句 总结 ———————————————— 版权声明:本文为CSDN博主「oooola」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

    StringJS:Swift中JavaScript字符串API

    一个很小的Swift扩展库,实现了我们惯用JavaScript String函数。 您可以在阅读有关JavaScript String函数的文档。 可用功能 length -&gt; Int (实例变量) charAt(index: Int) -&gt; String? chatCodeAt(index: Int) -...

    js对象与打印对象分析比较

    根据JS的对象扩展机制,用户可以自定义JS对象,这与Java语言有类似的地方。与自定义对象相对应的是JS标准对象,例如Date、Array、Math等等。2,原型(prototype)在JS中,这是一种创建对象属性和方法的方式,通过...

    PowerShell String对象方法小结

    默认文本存储在String对象中,它包含了许多非常有用的处理文本的命令。例如,要确定一个文件的扩展名,可以使用LastIndexOf()获取最后一个字符“.”的位置,继续使用Substring()获取扩展名子串。 PS&gt; $path = C:\...

    Javascript面向对象扩展库代码分享

    lang.js库提供了包和类的定义、类的继承与混合(mixin)、函数重载等功能,基本可满足大多数面向对象设计的需求。同时支持基于链式的定义方式,让库在使用时更加规范和便捷。下面首先通过简单的例子演示了lang.js的...

    源文件程序天下JAVASCRIPT实例自学手册

    6.1.1 如何使用String对象方法操作字符串 6.1.2 获取目标字符串长度 6.1.3 连接两个字符串 6.1.4 验证电子邮件地址的合法性 6.1.5 返回指定位置的字符串 6.1.6 在URL中定位字符串 6.1.7 分隔字符串 6.1.8 将字符串...

    学习DWR JavaScript函数整理

    /*********************** ** 创建人:奚强 ** 日 期:2002-7-18 ** 修改人: ** 日 期: ** 描 述:公用函数 ...// 本函数用于对sString字符串进行空格截除 // --------------------------------------------...

    JavaScript基础和实例代码

    6.1.1 如何使用String对象方法操作字符串 6.1.2 获取目标字符串长度 6.1.3 连接两个字符串 6.1.4 验证电子邮件地址的合法性 6.1.5 返回指定位置的字符串 6.1.6 在URL中定位字符串 6.1.7 分隔字符串 6.1.8 将字符串...

    toknot.js:toknot javascript

    扩展的 String 对象的函数 String.isEmail() 是否是email,是email返回true,否则false String.isCNMoblie() 是否是中国手机号码,是返回true,否则false String.trim() 除去字符串首尾空格 String.strpos(needle, ...

Global site tag (gtag.js) - Google Analytics