1、charCodeAt方法返回一個整數(shù),代表指定位置字符的Unicode編碼。
strObj.charCodeAt(index)
說明:
index將被處理字符的從零開始計數(shù)的編號。有效值為0到字符串長度減1的數(shù)字。
如果指定位置沒有字符,將返回NaN。
例如:
var str = "ABC";
str.charCodeAt(0);
結(jié)果:65
2、fromCharCode方法從一些Unicode字符串中返回一個字符串。
String.fromCharCode([code1[,code2...]])
說明:
code1,code2...是要轉(zhuǎn)換為字符串的Unicode字符串序列。如果沒有參數(shù),結(jié)果為空字符串。
例如:
String.fromCharCode(65,66,112);
結(jié)果:ABp
3、charAt方法返回指定索引位置處的字符。如果超出有效范圍的索引值返回空字符串。
strObj.charAt(index)
說明:
index想得到的字符的基于零的索引。有效值是0與字符串長度減一之間的值。
例如:
var str = "ABC";
str.charAt(1);
結(jié)果:B
4、slice方法返回字符串的片段。
strObj.slice(start[,end])
說明:
start下標從0開始的strObj指定部分其實索引。如果start為負,將它作為length+start處理,此處length為字符串的長度。
end小標從0開始的strObj指定部分結(jié)束索引。如果end為負,將它作為length+end處理,此處length為字符串的長度。
例如:
012345
var str = "ABCDEF";
str.slice(2,4);
結(jié)果:CD
5、substring方法返回位于String對象中指定位置的子字符串。
strObj.substring(start,end)
說明:
start指明子字符串的起始位置,該索引從0開始起算。
end指明子字符串的結(jié)束位置,該索引從0開始起算。
substring方法使用start和end兩者中的較小值作為子字符串的起始點。如果start或end為NaN或者為負數(shù),那么將其替換為0。
例如:
012345
var str = "ABCDEF";
str.substring(2,4); // 或 str.substring(4,2);
結(jié)果:CD
6、substr方法返回一個從指定位置開始的指定長度的子字符串。
strObj.substr(start[,length])
說明:
start所需的子字符串的起始位置。字符串中的第一個字符的索引為0。
length在返回的子字符串中應包括的字符個數(shù)。
例如:
012345
var str = "ABCDEF";
str.substr(2,4);
結(jié)果:CDEF
7、indexOf方法放回String對象內(nèi)第一次出現(xiàn)子字符串位置。如果沒有找到子字符串,則返回-1。
strObj.indexOf(substr[,startIndex])
說明:
substr要在String對象中查找的子字符串。
startIndex該整數(shù)值指出在String對象內(nèi)開始查找的索引。如果省略,則從字符串的開始處查找。
例如:
01234567
var str = "ABCDECDF";
str.indexOf("CD",1); // 由1位置從左向右查找 123...
結(jié)果:2
8、lastIndexOf方法返回String對象中字符串最后出現(xiàn)的位置。如果沒有匹配到子字符串,則返回-1。
strObj.lastIndexOf(substr[,startindex])
說明:
substr要在String對象內(nèi)查找的子字符串。
startindex該整數(shù)值指出在String對象內(nèi)進行查找的開始索引位置。如果省略,則查找從字符串的末尾開始。
例如:
01234567
var str = "ABCDECDF";
str.lastIndexOf("CD",6); // 由6位置從右向左查找 ...456
結(jié)果:5
9、search方法返回與正則表達式查找內(nèi)容匹配的第一個字符串的位置。
strObj.search(reExp)
說明:
reExp包含正則表達式模式和可用標志的正則表達式對象。
例如:
var str = "ABCDECDF";
str.search("CD"); // 或 str.search(/CD/i);
結(jié)果:2
10、concat方法返回字符串值,該值包含了兩個或多個提供的字符串的連接。
str.concat([string1[,string2...]])
說明:
string1,string2要和所有其他指定的字符串進行連接的String對象或文字。
例如:
var str = "ABCDEF";
str.concat("ABCDEF","ABC");
結(jié)果:ABCDEFABCDEFABC
11、將一個字符串分割為子字符串,然后將結(jié)果作為字符串數(shù)組返回。
strObj.split([separator[,limit]])
說明:
separator字符串或 正則表達式 對象,它標識了分隔字符串時使用的是一個還是多個字符。如果忽略該選項,返回包含整個字符串的單一元素數(shù)組。
limit該值用來限制返回數(shù)組中的元素個數(shù)。
例如:
var str = "AA BB CC DD EE FF";
alert(str.split(" ",3));
結(jié)果:
AA,BB,CC
12、toLowerCase方法返回一個字符串,該字符串中的字母被轉(zhuǎn)換成小寫。
例如:
var str = "ABCabc";
str.toLowerCase();
結(jié)果:abcabc
13、toUpperCase方法返回一個字符串,該字符串中的所有字母都被轉(zhuǎn)換為大寫字母。
例如:
var str = "ABCabc";
str.toUpperCase();
結(jié)果:ABCABC
14、trim()
15、match檢查一個字符串匹配一個正則表達式內(nèi)容,如果么有匹配返回 null。
var re = new RegExp(/^\w+$/);
var is_alpha1 = a.match(re);
//is_alpha1 = "hello"
var is_alpha2 = b.match(re);
//is_alpha2 = null
16、replace用來查找匹配一個正則表達式的字符串,然后使用新字符串代替匹配的字符串。
var result1 = a.replace(re,"Hello");
//result1 = "Hello"
var result2 = b.replace(re,"Hello");
//result2 = ",world"
17、字符串函數(shù)擴充
//去除左邊的空格
*/
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:"內(nèi)蒙古",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");
//非法地區(qū)
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);
}
/*
//是否是數(shù)字
*/
String.prototype.isNumeric = function(flag)
{
//驗證是否是數(shù)字
if(isNaN(this))
{
return false;
}
switch(flag)
{
case null:??????? //數(shù)字
case "":
return true;
case "+":??????? //正數(shù)
return??????????????? /(^\+?|^\d?)\d*\.?\d+$/.test(this);
case "-":??????? //負數(shù)
return??????????????? /^-\d*\.?\d+$/.test(this);
case "i":??????? //整數(shù)
return??????????????? /(^-?|^\+?|\d)\d+$/.test(this);
case "+i":??????? //正整數(shù)
return??????????????? /(^\d+$)|(^\+?\d+$)/.test(this);
case "-i":??????? //負整數(shù)
return??????????????? /^[-]\d+$/.test(this);
case "f":??????? //浮點數(shù)
return??????????????? /(^-?|^\+?|^\d?)\d*\.\d+$/.test(this);
case "+f":??????? //正浮點數(shù)
return??????????????? /(^\+?|^\d?)\d*\.\d+$/.test(this);
case "-f":??????? //負浮點數(shù)
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);
}
/*
//轉(zhuǎn)換成全角
*/
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;
}
/*
//轉(zhuǎn)換成日期
*/
String.prototype.toDate = function()
{
try
{
return new Date(this.replace(/-/g, "\/"));
}
catch(e)
{
return null;
}
}