String

1、charCodeAt方法返回一个整数,代表指定位置字符的Unicode编码。

strObj.charCodeAt(index)

说明:

index将被处理字符的从零开始计数的编号。有效值为0到字符串长度减1的数字。

如果指定位置没有字符,将返回NaN。

例如:

var str = "ABC";

str.charCodeAt(0);

结果:65

2、fromCharCode方法从一些Unicode字符串中返回一个字符串。

String.fromCharCode([code1[,code2...]])

说明:

code1,code2...是要转换为字符串的Unicode字符串序列。如果没有参数,结果为空字符串。

例如:

String.fromCharCode(65,66,112);

结果:ABp

3、charAt方法返回指定索引位置处的字符。如果超出有效范围的索引值返回空字符串。

strObj.charAt(index)

说明:

index想得到的字符的基于零的索引。有效值是0与字符串长度减一之间的值。

例如:

var str = "ABC";

str.charAt(1);

结果:B

4、slice方法返回字符串的片段。

strObj.slice(start[,end])

说明:

start下标从0开始的strObj指定部分其实索引。如果start为负,将它作为length+start处理,此处length为字符串的长度。

end小标从0开始的strObj指定部分结束索引。如果end为负,将它作为length+end处理,此处length为字符串的长度。

例如:

012345

var str = "ABCDEF";

str.slice(2,4);

结果:CD

5、substring方法返回位于String对象中指定位置的子字符串。

strObj.substring(start,end)

说明:

start指明子字符串的起始位置,该索引从0开始起算。

end指明子字符串的结束位置,该索引从0开始起算。

substring方法使用start和end两者中的较小值作为子字符串的起始点。如果start或end为NaN或者为负数,那么将其替换为0。

例如:

012345

var str = "ABCDEF";

str.substring(2,4); // 或 str.substring(4,2);

结果:CD

6、substr方法返回一个从指定位置开始的指定长度的子字符串。

strObj.substr(start[,length])

说明:

start所需的子字符串的起始位置。字符串中的第一个字符的索引为0。

length在返回的子字符串中应包括的字符个数。

例如:

012345

var str = "ABCDEF";

str.substr(2,4);

结果:CDEF

7、indexOf方法放回String对象内第一次出现子字符串位置。如果没有找到子字符串,则返回-1。

strObj.indexOf(substr[,startIndex])

说明:

substr要在String对象中查找的子字符串。

startIndex该整数值指出在String对象内开始查找的索引。如果省略,则从字符串的开始处查找。

例如:

01234567

var str = "ABCDECDF";

str.indexOf("CD",1); // 由1位置从左向右查找 123...

结果:2

8、lastIndexOf方法返回String对象中字符串最后出现的位置。如果没有匹配到子字符串,则返回-1。

strObj.lastIndexOf(substr[,startindex])

说明:

substr要在String对象内查找的子字符串。

startindex该整数值指出在String对象内进行查找的开始索引位置。如果省略,则查找从字符串的末尾开始。

例如:

01234567

var str = "ABCDECDF";

str.lastIndexOf("CD",6); // 由6位置从右向左查找 ...456

结果:5

9、search方法返回与正则表达式查找内容匹配的第一个字符串的位置。

strObj.search(reExp)

说明:

reExp包含正则表达式模式和可用标志的正则表达式对象。

例如:

var str = "ABCDECDF";

str.search("CD"); // 或 str.search(/CD/i);

结果:2

10、concat方法返回字符串值,该值包含了两个或多个提供的字符串的连接。

str.concat([string1[,string2...]])

说明:

string1,string2要和所有其他指定的字符串进行连接的String对象或文字。

例如:

var str = "ABCDEF";

str.concat("ABCDEF","ABC");

结果:ABCDEFABCDEFABC

11、将一个字符串分割为子字符串,然后将结果作为字符串数组返回。

strObj.split([separator[,limit]])

说明:

separator字符串或 正则表达式 对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽略该选项,返回包含整个字符串的单一元素数组。

limit该值用来限制返回数组中的元素个数。

例如:

var str = "AA BB CC DD EE FF";

alert(str.split(" ",3));

结果:

AA,BB,CC

12、toLowerCase方法返回一个字符串,该字符串中的字母被转换成小写。

例如:

var str = "ABCabc";

str.toLowerCase();

结果:abcabc

13、toUpperCase方法返回一个字符串,该字符串中的所有字母都被转换为大写字母。

例如:

var str = "ABCabc";

str.toUpperCase();

结果:ABCABC

14、trim()

15match检查一个字符串匹配一个正则表达式内容,如果么有匹配返回 null。

var re = new RegExp(/^\w+$/);

var is_alpha1 = a.match(re);

//is_alpha1 = "hello"

var is_alpha2 = b.match(re);

//is_alpha2 = null

16replace用来查找匹配一个正则表达式的字符串,然后使用新字符串代替匹配的字符串。

var result1 = a.replace(re,"Hello");

//result1 = "Hello"

var result2 = b.replace(re,"Hello");

//result2 = ",world"


17、字符串函数扩充

//去除左边的空格

*/

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

{

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,"&");

str=str.replace(/

str=str.replace(/>/g,">");

str=str.replace(/\'/g,"'");

str=str.replace(/\"/g,""");

str=str.replace(/\n/g,"
");

str=str.replace(/\ /g," ");

str=str.replace(/\t/g,"    ");

return str;

}

/*

//转换成日期

*/

String.prototype.toDate = function()

{

try

{

return new Date(this.replace(/-/g, "\/"));

}

catch(e)

{

return null;

}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容