`
deer
  • 浏览: 86386 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

js字符串函数扩充

阅读更多
来源:http://www.phpweblog.net/kiyone/archive/2007/04/19/1135.aspx

Js字符串操作函数大全

/*
******************************************
                        字符串函数扩充                                
******************************************
*/

/*
===========================================
//去除左边的空格
===========================================

*/
String.prototype.LTrim = function()
{
        return this.replace(/(^\s*)/g, "");
}


/*
===========================================
//去除右边的空格
===========================================
*/
String.prototype.Rtrim = function()
{
        return this.replace(/(\s*$)/g, "");
}



/*
===========================================
//去除前后空格
===========================================
*/
String.prototype.Trim = function()
{
        return this.replace(/(^\s*)|(\s*$)/g, "");
}

/*
===========================================
//得到左边的字符串
===========================================
*/
String.prototype.Left = function(len)
{

        if(isNaN(len)||len==null)
        {
                len = this.length;
        }
        else
        {
                if(parseInt(len)<0||parseInt(len)>this.length)
                {
                        len = this.length;
                }
        }
       
        return this.substr(0,len);
}


/*
===========================================
//得到右边的字符串
===========================================
*/
String.prototype.Right = function(len)
{

        if(isNaN(len)||len==null)
        {
                len = this.length;
        }
        else
        {
                if(parseInt(len)<0||parseInt(len)>this.length)
                {
                        len = this.length;
                }
        }
       
        return this.substring(this.length-len,this.length);
}


/*
===========================================
//得到中间的字符串,注意从0开始
===========================================
*/
String.prototype.Mid = function(start,len)
{
        return this.substr(start,len);
}


/*
===========================================
//在字符串里查找另一字符串:位置从0开始
===========================================
*/
String.prototype.InStr = function(str)
{

        if(str==null)
        {
                str = "";
        }
       
        return this.indexOf(str);
}

/*
===========================================
//在字符串里反向查找另一字符串:位置0开始
===========================================
*/
String.prototype.InStrRev = function(str)
{

        if(str==null)
        {
                str = "";
        }
       
        return this.lastIndexOf(str);
}



/*
===========================================
//计算字符串打印长度
===========================================
*/
String.prototype.LengthW = function()
{
        return this.replace(/[^\x00-\xff]/g,"**").length;
}

/*
===========================================
//是否是正确的IP地址
===========================================
*/
String.prototype.isIP = function()
{

        var reSpaceCheck = /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/;

        if (reSpaceCheck.test(this))
        {
                this.match(reSpaceCheck);
                if (RegExp.$1 <= 255 && RegExp.$1 >= 0
                 && RegExp.$2 <= 255 && RegExp.$2 >= 0
                 && RegExp.$3 <= 255 && RegExp.$3 >= 0
                 && RegExp.$4 <= 255 && RegExp.$4 >= 0)
                {
                        return true;    
                }
                else
                {
                        return false;
                }
        }
        else
        {
                return false;
        }
  
}


/*
===========================================
//是否是正确的长日期
===========================================
*/
String.prototype.isLongDate = function()
{
        var r = this.replace(/(^\s*)|(\s*$)/g, "").match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/);
        if(r==null)
        {
                return false;
        }
        var d = new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);
        return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);

}

/*
===========================================
//是否是正确的短日期
===========================================
*/
String.prototype.isShortDate = function()
{
        var r = this.replace(/(^\s*)|(\s*$)/g, "").match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
        if(r==null)
        {
                return false;
        }
        var d = new Date(r[1], r[3]-1, r[4]);
        return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
}

/*
===========================================
//是否是正确的日期
===========================================
*/
String.prototype.isDate = function()
{
        return this.isLongDate()||this.isShortDate();
}

/*
===========================================
//是否是手机
===========================================
*/
String.prototype.isMobile = function()
{
        return /^0{0,1}13[0-9]{9}$/.test(this);
}

/*
===========================================
//是否是邮件
===========================================
*/
String.prototype.isEmail = function()
{
        return /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/.test(this);
}

/*
===========================================
//是否是邮编(中国)
===========================================
*/

String.prototype.isZipCode = function()
{
        return /^[\\d]{6}$/.test(this);
}

/*
===========================================
//是否是有汉字
===========================================
*/
String.prototype.existChinese = function()
{
        //[\u4E00-\u9FA5]為漢字﹐[\uFE30-\uFFA0]為全角符號
        return /^[\x00-\xff]*$/.test(this);
}

/*
===========================================
//是否是合法的文件名/目录名
===========================================
*/
String.prototype.isFileName = function()
{
        return !/[\\\/\*\?\|:"<>]/g.test(this);
}

/*
===========================================
//是否是有效链接
===========================================
*/
String.prototype.isUrl = function()
{
        return /^http[s]?:\/\/([\w-]+\.)+[\w-]+([\w-./?%&=]*)?$/i.test(this);
}


/*
===========================================
//是否是有效的身份证(中国)
===========================================
*/
String.prototype.isIDCard = function()
{
        var iSum=0;
        var info="";
        var sId = this;

        var aCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"};

        if(!/^\d{17}(\d|x)$/i.test(sId))
        {
                return false;
        }
        sId=sId.replace(/x$/i,"a");
        //非法地区
        if(aCity[parseInt(sId.substr(0,2))]==null)
        {
                return false;
        }

        var sBirthday=sId.substr(6,4)+"-"+Number(sId.substr(10,2))+"-"+Number(sId.substr(12,2));

        var d=new Date(sBirthday.replace(/-/g,"/"))
       
        //非法生日
        if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate()))
        {
                return false;
        }
        for(var i = 17;i>=0;i--)
        {
                iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11);
        }

        if(iSum%11!=1)
        {
                return false;
        }
        return true;

}

/*
===========================================
//是否是有效的电话号码(中国)
===========================================
*/
String.prototype.isPhoneCall = function()
{
        return /(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/.test(this);
}


/*
===========================================
//是否是数字
===========================================
*/
String.prototype.isNumeric = function(flag)
{
        //验证是否是数字
        if(isNaN(this))
        {

                return false;
        }

        switch(flag)
        {

                case null:        //数字
                case "":
                        return true;
                case "+":        //正数
                        return                /(^\+?|^\d?)\d*\.?\d+$/.test(this);
                case "-":        //负数
                        return                /^-\d*\.?\d+$/.test(this);
                case "i":        //整数
                        return                /(^-?|^\+?|\d)\d+$/.test(this);
                case "+i":        //正整数
                        return                /(^\d+$)|(^\+?\d+$)/.test(this);                       
                case "-i":        //负整数
                        return                /^[-]\d+$/.test(this);
                case "f":        //浮点数
                        return                /(^-?|^\+?|^\d?)\d*\.\d+$/.test(this);
                case "+f":        //正浮点数
                        return                /(^\+?|^\d?)\d*\.\d+$/.test(this);                       
                case "-f":        //负浮点数
                        return                /^[-]\d*\.\d$/.test(this);               
                default:        //缺省
                        return true;                       
        }
}

/*
===========================================
//是否是颜色(#FFFFFF形式)
===========================================
*/
String.prototype.IsColor = function()
{
        var temp        = this;
        if (temp=="") return true;
        if (temp.length!=7) return false;
        return (temp.search(/\#[a-fA-F0-9]{6}/) != -1);
}

/*
===========================================
//转换成全角
===========================================
*/
String.prototype.toCase = function()
{
        var tmp = "";
        for(var i=0;i<this.length;i++)
        {
                if(this.charCodeAt(i)>0&&this.charCodeAt(i)<255)
                {
                        tmp += String.fromCharCode(this.charCodeAt(i)+65248);
                }
                else
                {
                        tmp += String.fromCharCode(this.charCodeAt(i));
                }
        }
        return tmp
}

/*
===========================================
//对字符串进行Html编码
===========================================
*/
String.prototype.toHtmlEncode = function()
{
        var str = this;

        str=str.replace(/&/g,"&amp;");
        str=str.replace(/</g,"&lt;");
        str=str.replace(/>/g,"&gt;");
        str=str.replace(/\'/g,"&apos;");
        str=str.replace(/\"/g,"&quot;");
        str=str.replace(/\n/g,"<br>");
        str=str.replace(/\ /g,"&nbsp;");
        str=str.replace(/\t/g,"&nbsp;&nbsp;&nbsp;&nbsp;");

        return str;
}

/*
===========================================
//转换成日期
===========================================
*/
String.prototype.toDate = function()
{
        try
        {
                return new Date(this.replace(/-/g, "\/"));
        }
        catch(e)
        {
                return null;
        }
}







1.Asc(x),Chr(x):转换字符,字符码

2。Filter:搜寻字符串数组中的特定字符串

格式:v=filter(x,s[,include[,compare]])

实例:

Dim x()={"kjwang","wangkj","peter"}

Dim v

v=filter(x,"kj") '结果v(0)="kjwang",v(1)="wangkj"

v=filter(x,"kj",false) '结果v(0)="peter"

v=filter(x,"kj",true,vbTextCompare) '不分大小写搜寻

3.InStr:寻找字符串位置(InstrRev:倒过来寻找字符串)

格式:

v=instr(x,y) '从x字符串第1个字符起找出y字符串出现的位置

v=instr(n,x,y) '从x字符串第n个字符起找出y字符串出现的位置

格式:

v=InstrRev(x,s[,n[,Compare]])

4。Join:将字符串连接

格式:v=join(x[,d])’d为分隔字符

5。Len(x):计算字符串x的长度

格式:v=len(x)

6.Left(x,n):返回字符串x左边n个字符(对应Right(x,n))

7。Mid:读取字符串x中间的字符

格式:v=mid(x,n,m)

8。LTrim(x),RTim(x),Trim(x)去空白字符

9.Replace:字符串取代

格式:v=Replace(x,s,r)

实例:x="i saw a saw a saw"

v=replace(x,"saw","so") 'v="i so a so a so"

10.Split:字符串分割

格式:v=split(s[,d])

实例:v=split("vb.net,iis6.0,asp.net",",")

'结果v(0)="vb.net",v(1)="iis6.0",v(2)="asp.net"

11.StrReverse:反转字符串

实例:v=strreverse("kjwang") 'v="gnawjk"

12.UCase(x),LCase(x):变换英文字母的大小写

实例:x="hello,VB中文!"

v=UCase(x) 'v="HELLO,VB中文!"
1.取出日期时间

-1)DateValue(x),TimeValue(x)

格式:v=DateValue(x) :取出的“日期”部分

   v=timevalue(x) '类上

-2)Year(x),Month(x),Day(x)

格式:v=Year(x)

   v=Month(x)

   v=Day(x)

   Hour(x),Minute(x),Second(x):取出时,分,秒

-3)DateSerial(Y,M,D):合并年、月、日成为日期

实例:Dim v

v=DateSerial(1996,10,5) 'v=1996/10/5

   TimeSerial(H,M,S):合并时、分、秒成为时间

2.Now:读取系统日期时间

格式:v=now

3.Timer:从凌晨12:00:00AM起所经过的秒数

格式:v=timer

4.DatePart(p,x):取出年、月、日等各部分的数值

实例:Dim X=#2/10/1996 16:45:30#

v=DatePart("yyyy",X) 'v=1996年

v=DatePart("m",X) 'v=2月

v=DatePart("d",X) 'v=10日

v=DatePart("h",X) 'v=16时

v=DatePart("n",X) 'v=45分

v=DatePart("s",X) 'v=30秒

v=DatePart("q",X) 'v=1季(第一季,春季)

v=DatePart("y",X) 'v=41天(1996年的第41天)

v=DatePart("ww",X) 'v=6周(1996年的第6周)

v=DatePart("w",X) 'v=7(第6周的第7天,即星期六)

5。DateAdd(p,n,x):加减若干时间后的新日期时间

格式:v=DateAdd(p,n,x) 'p值同上如:"yyyy"、"m"等

实例:Dim x=#1/31/1996 16:45:30#

v=dateadd("yyyy",-3,x) '减3年,v=1993/1/31 16:45:30

6.DateDiff(p,x1,x2):计算两日期时间的差值 'p值同上

实例:dim x1=#12/31/1996 16:45:30#

x2=#2/10/1997 9:30:50#

v=datediff("yyyy",x1,x2) 'v=1年

7。FormatDateTime:日期时间的格式化

格式:v=formatdateyime(x[,日期格式])

日期格式值:DateFormat.GeneralDate 、 DateFormat.LongDate、

DateFotmat.ShortDate、DateFormat.LongTime、DateFormat.ShortTime

8.MonthName:返回月份名称

实例:v=monthname(5) 'v="五月"

9.WeekDayName:返回星期名称 ’用法同8.


分享到:
评论

相关推荐

    js prototype截取字符串函数

    prototype它是用Javascript写好的一些API,包括对Javascript中的类如String,Array等进行的扩充,把JS文件嵌入后直接用就行了. 代码如下:String.prototype.strLen = function() { var len = 0; for (var i = 0; i ...

    Javascript

    #### 十五、字符串函数扩充 除了以上内建的字符串处理方法外,还可以通过扩展 String.prototype 来添加自定义的字符串处理函数。 ##### 去除左侧空格:LTrim ```javascript String.prototype.LTrim = function() ...

    Javascript如何实现扩充基本类型

    JavaScript默认没有提供移除字符串首尾空白的方法,但通过给String.prototype添加方法,可以轻松实现这一功能。 **示例代码:** ```javascript String.method('trim', function() { return this.replace(/^\s+|\s+...

    浅谈angularJs函数的使用方法(大小写转换,拷贝,扩充对象)

    首先,大小写转换的函数允许开发者在需要时快速将字符串转换为大写或小写。在很多情况下,用户输入的数据可能不符合要求的格式,比如数据库保存时要求统一格式,此时大小写转换函数就会非常有用。通过调用angular....

    JSValid:一种在 JavaScript 中进行验证的函数式方法

    JSValid 是一种在 JavaScript 中进行验证的函数式方法。 它提供了一种表达值约束的自然方式,以及一种执行它们的简单机制。 JSValid 指定一种特殊函数的签名,称为验证器。 验证器接受要验证的值subject作为单个...

    紧凑的、基于对象的脚本语言——JavaScript.pdf

    JavaScript 的语句包括算术表达式、字符串表达式和关系表达式。算术表达式由算术运算符和数值型运算对象组成。关系表达式将关系运算符两边的表达式值进行比较,如关系成立取值为逻辑真,否则取值为逻辑假。 ...

    javascript

    在学习JavaScript时,初学者首先需要掌握基础语法,包括变量声明(var、let、const)、数据类型(如字符串、数字、布尔值、数组、对象等)、控制流(条件语句、循环语句)以及函数的使用。此外,理解作用域(全局和...

    完整版配置文件扩充操作模块示例.rar

    2. **配置文件的作用**:配置文件主要用于存储运行时变量,比如数据库连接字符串、API密钥、服务器地址、日志级别等。它们允许在不修改代码的情况下改变程序的行为,提高灵活性。 3. **配置文件的管理**:配置文件...

    JavaScript 权威指南(第四版).pdf

     7.12 作为数组的字符串163  第8章 函数165  8.1 函数定义166  8.2 函数调用168  8.3 函数的实参和形参173  8.4 作为值的函数178  8.5 作为命名空间的函数181  8.6 闭包182  8.7 函数属性、方法和构造函数...

    JavaScript权威指南(第6版)(附源码)

    7.12 作为数组的字符串 第8章 函数 8.1 函数定义 8.2 函数调用 8.3 函数的实参和形参 8.4 作为值的函数 8.5 作为命名空间的函数 8.6 闭包 8.7 函数属性、方法和构造函数 8.8 函数式编程 第9章 类和模块 9.1 类和...

    2021-2022计算机二级等级考试试题及答案No.3356.docx

    - **字符串函数**:不同的编程语言提供了多种字符串处理函数,如`Left`、`Right`等,用于提取字符串的左部或右部一定长度的字符。 #### (2) 条件判断与循环控制 - **条件语句**:如题目中的`if(n++)`,这里涉及到...

    JavaScript权威指南(第6版)

    7.12 作为数组的字符串 第8章 函数 8.1 函数定义 8.2 函数调用 8.3 函数的实参和形参 8.4 作为值的函数 8.5 作为命名空间的函数 8.6 闭包 8.7 函数属性、方法和构造函数 8.8 函数式编程 第9章 类和模块 9.1 类和原型...

    JavaScript权威指南(第6版)(中文版)

    7.12 作为数组的字符串 第8章 函数 8.1 函数定义 8.2 函数调用 8.3 函数的实参和形参 8.4 作为值的函数 8.5 作为命名空间的函数 8.6 闭包 8.7 函数属性、方法和构造函数 8.8 函数式编程 第9章 类和模块 9.1 类和原型...

    JavaScript权威指南(第6版)中文版pdf+源代码

     7.12 作为数组的字符串163  第8章 函数165  8.1 函数定义166  8.2 函数调用168  8.3 函数的实参和形参173  8.4 作为值的函数178  8.5 作为命名空间的函数181  8.6 闭包182  8.7 函数属性、方法和构造函数...

    JavaScript基础练习_day9

    - `typeof(Number("42")) === "number"`: 调用 `Number` 函数将字符串 "42" 转换成数字 42,其类型为数字。 - `typeof(new Number("42")) === "object"`: 使用 `new` 关键字创建 `Number` 对象,其实例类型为对象...

    js分享PPT,公司内部培训用更新

    `String`对象提供了一系列用于处理字符串的方法,如`split`、`trim`、`toUpperCase`等。 ```javascript let str = " hello world "; let trimmed = str.trim(); console.log(trimmed.toUpperCase()); // "HELLO ...

Global site tag (gtag.js) - Google Analytics