很多朋友对于深入解析String:掌握编程中的基础字符串处理技巧和不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!
阐明:
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 所需字符的从零开始的索引。有效值介于0 和字符串长度减一之间。
例如:
var str="ABC";
str.charAt(1);
结果:B
4. slice 方法返回字符串的一个片段。
strObj.slice(开始[,结束])
阐明:
strObj的指定部分从0开始的起始索引实际上就是索引。如果start 为负数,则将其视为length+start,其中length 是字符串的长度。
结束下标从0开始,指定strObj的部分结束索引。如果end 为负数,则将其视为length+end,其中length 是字符串的长度。
例如:
012345
var str="ABCDEF";
str.slice(2,4);
结果:光盘
5. substring方法返回位于String对象中指定位置的子字符串。
strObj.substring(开始,结束)
阐明:
start指定子串的起始位置,索引从0开始。
end指定子串的结束位置,索引从0开始。
substring方法使用start和end中较小的一个作为子字符串的起点。如果start 或end 为NaN 或负数,则将其替换为0。
例如:
012345
var str="ABCDEF";
str.substring(2,4); //或str.substring(4,2);
结果:光盘
6、substr方法返回从指定位置开始的指定长度的子字符串。
strObj.substr(开始[,长度])
阐明:
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([字符串1[,字符串2.]])
阐明:
string1, string2 要与所有其他指定字符串连接的String 对象或文本。
例如:
var str="ABCDEF";
str.concat("ABCDEF","ABC");
结果:ABCDEFABCDEFABC
11. 将字符串拆分为子字符串并将结果作为字符串数组返回。
strObj.split([分隔符[,限制]])
阐明:
分隔符字符串或正则表达式对象,用于标识是否使用一个或多个字符来分隔字符串。如果省略此选项,则返回包含整个字符串的单元素数组。
limit该值用于限制返回数组中的元素数量。
例如:
var str="AA BB CC DD EE FF";
警报(str.split("",3));
结果:
AA、BB、CC
12. toLowerCase 方法返回一个字符串,其中字符串中的字母被转换为小写。
例如:
var str="ABCabc";
str.toLowerCase();
结果:abcabc
13. toUpperCase 方法返回一个字符串,其中所有字母都转换为大写字母。
例如:
var str="ABCabc";
str.toUpperCase();
结果:ABCABC
14. 修剪()
15. match 检查字符串是否与正则表达式内容匹配,如果匹配则返回null。
var re=new RegExp(/^w+$/);
var is_alpha1=a.match(re);
//is_alpha1="你好"
var is_alpha2=b.match(re);
//is_alpha2=null
16. Replace 用于查找与正则表达式匹配的字符串,然后将匹配的字符串替换为新字符串。
var result1=a.replace(re,"你好");
//结果1="你好"
var result2=b.replace(re,"你好");
//结果2=",世界"
17. 字符串函数扩展
//去掉左边的空格
*/
String.prototype.LTrim=function()
{
返回this.replace(/(^s*)/g, "");
}
/*
//去掉右边的空格
*/
String.prototype.Rtrim=function()
{
返回this.replace(/(s*$)/g, "");
}
/*
//去掉前导空格和尾随空格
*/
String.prototype.Trim=function()
{
返回this.replace(/(^s*)|(s*$)/g, "");
}
/*
//获取左边的字符串
*/
String.prototype.Left=函数(len)
{
if(isNaN(len)||len==null)
{
len=this.length;
}
别的
{
if(parseInt(len)0||parseInt(len)this.length)
{
len=this.length;
}
}
返回this.substr(0,len);
}
/*
//获取右边的字符串
*/
String.prototype.Right=函数(len)
{
if(isNaN(len)||len==null)
{
len=this.length;
}
别的
{
if(parseInt(len)0||parseInt(len)this.length)
{
len=this.length;
}
}
返回this.substring(this.length-len,this.length);
}
/*
//获取中间字符串,注意从0开始
*/
String.prototype.Mid=函数(start,len)
{
返回this.substr(start,len);
}
/*
//在字符串中从0开始查找位置:处的另一个字符串
*/
String.prototype.InStr=函数(str)
{
if(str==null)
{
str="";
}
返回this.indexOf(str);
}
/*
//从:的位置0开始反向查找另一个字符串
*/
String.prototype.InStrRev=函数(str)
{
if(str==null)
{
str="";
}
返回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
正则表达式.$2=255 正则表达式.$2=0
正则表达式.$3=255 正则表达式.$3=0
正则表达式.$4=255 正则表达式.$4=0)
{
返回真;
}
别的
{
返回假;
}
}
别的
{
返回假;
}
}
/*
//这是一个正确的长日期吗?
*/
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})$/);
如果(r==null)
{
返回假;
}
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})$/);
如果(r==null)
{
返回假;
}
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()
{
返回this.isLongDate()||this.isShortDate();
}
/*
//是否是手机
*/
String.prototype.isMobile=function()
{
返回/^0{0,1}13[0-9]{9}$/.test(this);
}
/*
//这是一封电子邮件吗?
*/
String.prototype.isEmail=function()
{
返回/^w+((-w+)|(.w+))*@[A-Za-z0-9]+((.|-)[A-Za-z0-9]+) *.[A-Za-z0-9]+$/.test(this);
}
/*
//是否是邮政编码(中国)
*/
String.prototype.isZipCode=function()
{
返回/^[\d]{6}$/.test(this);
}
/*
//是否有汉字
*/
String.prototype.existChinese=function()
{
//[u4E00-u9FA5]为汉字,[uFE30-uFFA0]为全角符号
返回/^[x00-xff]*$/.test(this);
}
/*
//是否是合法的文件名/目录名?
*/
String.prototype.isFileName=函数()
{
返回!/[\/*?|:"]/g.test(this);
}
/*
//这是一个有效的链接吗?
*/
String.prototype.isUrl=函数()
{
返回/^http[s]?//([w-]+.)+[w-]+([w-./?%=]*)?$/i.test(这);
}
/*
//是否为有效身份证(中国)
*/
String.prototype.isIDCard=function()
{
var iSum=0;
变量信息="";
var sId=这个;
变量={11:"Beijing",12:"Sianjin",13:"hebei",143:"shanxi",15:"inner蒙古",213:"liaoning" ", 32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",443336 0"广东", 45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63333 60"青海", 64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"};
if(!/^d{17}(d|x)$/i.test(sId))
{
返回假;
}
sId=sId.replace(/x$/i,"a");
//非法区域
if(aCity[parseInt(sId.substr(0,2))]==null)
{
返回假;
}
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()))
{
返回假;
}
for(var i=17;i=0;i--)
{
iSum +=(Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11);
}
if(iSum%11!=1)
{
返回假;
}
返回真;
}
/*
//是否是有效的电话号码(中国)
*/
String.prototype.isPhoneCall=function()
{
返回/(^[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=函数(标志)
{
//验证是否是数字
if(isNaN(这个))
{
返回假;
}
开关(标志)
{
case null: //数字
案例"":
返回真;
case "+": //正数
返回/(^+?|^d?)d*.d+$/.test(this);
case "-": //负数
返回/^-d*.d+$/.test(this);
case "i": //整数
返回/(^-?|^+?|d)d+$/.test(this);
case "+i": //正整数
返回/(^d+$)|(^+?d+$)/.test(this);
case "-i": //负整数
返回/^[-]d+$/.test(this);
case "f": //浮点数
返回/(^-?|^+?|^d?)d*.d+$/.test(this);
case "+f": //正浮点数
返回/(^+?|^d?)d*.d+$/.test(this);
case "-f": //负浮点数
返回/^[-]d*.d$/.test(this);
default: //默认
返回真;
}
}
/*
//是否为颜色(#FFFFFF形式)
*/
String.prototype.IsColor=function()
{
var 温度=这个;
if (temp=="") 返回true;
if (temp.length!=7) 返回false;
return (temp.search(/#[a-fA-F0-9]{6}/) !=-1);
}
/*
//转换为全宽
*/
String.prototype.toCase=function()
{
var tmp="";
为(变量我=0;我
{
if(this.charCodeAt(i)0this.charCodeAt(i)255)
{
tmp +=String.fromCharCode(this.charCodeAt(i)+65248);
}
别的
{
tmp +=String.fromCharCode(this.charCodeAt(i));
}
}
返回临时表
}
/*
//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," ");
返回字符串;
}
/*
//转换为日期
*/
String.prototype.toDate=function()
{
尝试
{
返回新日期(this.replace(/-/g, "/"));
}
捕获(e)
{
返回空值;
}
深入解析String:掌握编程中的基础字符串处理技巧和的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!
【深入解析String:掌握编程中的基础字符串处理技巧】相关文章:
2.米颠拜石
3.王羲之临池学书
8.郑板桥轶事十则
用户评论
字符串可以用在各种地方,比如显示文字、拼接代码等等。
有6位网友表示赞同!
学习如何操作字符串是编程必备技能啊!
有16位网友表示赞同!
你知道有多少种不同的字符串格式吗?
有6位网友表示赞同!
不同语言的字符串处理方式不太一样吧?
有5位网友表示赞同!
有时候字符串需要加密才能安全传输,很酷的科技啊!
有19位网友表示赞同!
在网页开发中,字符串也很重要,比如动态生成内容什么的。
有19位网友表示赞同!
数据分析经常用到字符串解析的功能,很强大!
有9位网友表示赞同!
有没有人推荐一些好的工具来处理大型字符串呢?
有7位网友表示赞同!
想了解一下如何用编程语言构建一个简单的字符串操作系统。
有5位网友表示赞同!
学习字符串操作的感觉很有成就感,能自己写出各种神奇的代码!
有17位网友表示赞同!
其实有时候字符串的处理会很复杂,需要细心调试才能解决问题。
有11位网友表示赞同!
对于长度过长的字符串,怎么高效地处理呢?
有7位网友表示赞同!
有没有一些技巧可以把多条字符串合并成一个新的字符串?
有5位网友表示赞同!
我想了解一下一些常见的字符串算法,比如搜索、匹配等等。
有13位网友表示赞同!
有没有人分享一下自己在学习字符串操作过程中遇到的困难和解决方法?
有20位网友表示赞同!
我发现很多时候需要用到特殊的字符转码,这有点复杂啊!
有14位网友表示赞同!
感觉掌握了字符串的精髓,就能更好地理解很多编程语言背后的原理。
有18位网友表示赞同!
字符串的应用场景非常广泛,以后说不定还能找到更多创意的使用方法!
有13位网友表示赞同!