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,'&').replace(/</g,'<').replace(/>/g,'>');
}
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中,Prototype是一个库,它扩展了JavaScript的内置对象,包括String对象。这里的“Prototype String对象”是指Prototype库为JavaScript原生的String对象添加的一些额外功能,主要是为了增强字符串处理的...
标题所指的知识点主要分为两个部分:JS中Array对象的扩展和String对象的扩展。以下是对这两部分内容的详细阐述。 一、Array对象的扩展 Array对象是JavaScript中最为重要的对象之一,用于表示数组,即有序的列表。...
de.js是一个轻量级的javascript扩展函数库,通过扩展页面元素的方法和属性、和扩展javascript内置类型的方法来帮助web前端开发人员实现更便捷和高效的编程。以下是主要特点: 支持类似jquery的选择器,同时支持类似...
对 javascript String 对象的有用扩展。 这直接扩展了String.prototype因此您可以像访问本机函数一样访问所有这些。 字符串大写 myStr.capitalise(); 将每个单词的第一个字母大写。 字符串.下划线 myStr....
总的来说,虽然JavaScript原生不支持`String.Format`,但通过扩展`String.prototype`,我们可以创建自己的函数来实现类似的功能,以满足在JavaScript中动态生成和格式化字符串的需求。这种自定义方法不仅可以提高...
本篇文章将深入探讨一个用JavaScript编写的仿C#`String.Format`函数,并通过实例解析其工作原理和使用方法。 首先,让我们理解C#中的`String.Format`函数。在C#中,`String.Format`允许我们将变量插入到一个字符串...
Javascript原生的String处理函数显得...问题3:我们需要什么样的string扩展函数?这个问题可以参考其他js库,以及其他语言的string操作函数Prototype.js对String类型的扩展:http://api.prototypejs.org/language/stri
lang.js库提供了包和类的定义、类的继承与混合(mixin)、函数重载等功能,基本可满足大多数面向对象设计的需求。同时支持基于链式的定义方式,让库在使用时更加规范和便捷。下面首先通过简单的例子演示了lang.js的...
Mtils 的扩展函数部分是对 JavaScript 原生对象功能的补充和增强,比如对 Array、String、Date 等对象的扩展。这些扩展函数通常是为了提升代码的可读性和可维护性,减少重复代码,例如数组的去重、字符串的操作等。...
在JavaScript中,自定义对象可以通过对象字面量或构造函数来创建,以扩展语言的功能。它们与JS的标准对象相对,后者如Date、Array等是由语言内置的。 1.2.2 原型(prototype) 原型是JavaScript中一种特殊的概念,...
### JavaScript对象、原型、属性、构造函数、扩展、JSON #### JavaScript对象类型 JavaScript是一种广泛使用的脚本语言,尤其在Web开发中占据了重要的地位。它支持多种对象类型,包括内部对象、基于类的对象以及...
### JavaScript常用字符串与数组扩展函数小结 #### 引言 在现代Web开发中,JavaScript是一种必不可少的语言。作为一门功能强大的脚本语言,它提供了大量的内置对象和方法来处理各种数据类型,其中最常用的就是字符...
JavaScript中的String对象是处理文本数据的核心工具,它包含了一系列用于操作和处理字符串的方法。作为面向对象编程的一部分,String对象在JavaScript中属于内置对象,这意味着它已经预定义并且可以直接使用。以下是...
标题“javascript调用delphi中的函数”涉及到的技术领域是跨语言通信,具体是JavaScript与Delphi之间的交互。这种交互通常发生在Web应用程序与桌面应用程序的集成,或者在浏览器扩展和本地资源之间。以下是对这一...
JS 中位数不足自动补位扩展 PadLeft、PadRight 实现代码 在 JavaScript 中,实现位数不足自动补位扩展是...实现 JS 中位数不足自动补位扩展可以通过自定义函数实现、String 方法扩展和原理同方法二的实现等方式实现。
在JavaScript中,我们可以利用原型链扩展String对象,添加一个自定义的方法,如`reverseString()`,用来实现字符串的反转。例如: ```javascript String.prototype.reverseString = function() { return this....
Mtils2 提供的扩展函数是对JavaScript原生对象或函数的增强,它们可能包括: 1. **Array的扩展**:例如,添加对数组的查找、排序、去重等操作的支持。 2. **String的扩展**:增加对字符串的操作,如格式化、截取、...