A-A+

javascript字符串的操作一些方法总结

2016年01月21日 web前端设计 暂无评论 阅读 5 views 次

今天整理了一下关于字符操作的一些方法,平时写起来经常忘记,这次整理一下,顺便复习一遍方便以后用:

  1. isFinite(123);//检测是否为数字(这里返回true)  
  2. isNaN(123);//检测是不否为数字(这里返回false)  
  3. 'hello world'.indexOf('a',2);//查找匹配字符的位置没有则返回-1,注后面可选参数从某个位置开始,从0开始  

例,代码如下:

  1. function countInstances(mainStr, subStr)  
  2.     {  
  3.         var count = 0;  
  4.         var offset = 0;  
  5.         do  
  6.         {  
  7.             offset = mainStr.indexOf(subStr, offset);  
  8.             if(offset != -1)  
  9.             {  
  10.                 count++;  
  11.                 offset += subStr.length;  
  12.             }  
  13.         }while(offset != -1)  
  14.         return count;  
  15.     }  
  16.   
  17. 'hello world'.lastIndexOf('a',2);//查找匹配字符的位置从后往前没有则返回-1,从0开始  
  18. 'hello world'.substring(1,4);//提取字符串中介于两个指定下标之间的字符,从0开始  
  19. 'hello world'.substr(1,4);//提取字符串的某个部分,从0开始,第一个参数若-1则从最后一个开始截取,第二个参数为length,从0开始  
  20. 'hello world'.slice(1,4);//提取字符串的某个部分,从0开始,第一个参数若不能为负数,第二个参数为空则截取开始以后的所有字符,从0开始  
  21. 'hello world'.split(' ',3);//把字符串分割为字符串数组,参数2表示数组最大长度  
  22. 'hello world'.match("world");//查找字符是否在字符串中有则返回该字符串没有测null  
  23. /world/.test('hello world');//是否匹配字符返回true & false  
  24. 'hello world'.search(/world/i);//查找字符的位置,i忽略大小写  
  25. 'hello world'.replace(/wor/,"row");//替换字符串  
  26. 'hello world'.length;//输出字符串长度  
  27. 'hello world'.toUpperCase();//将字符串转化为大写  
  28. 'hello world'.toLowerCase();//将字符串转化为小写  
  29. 'hello world'.valueOf();//输入源代码,如var a=function(){var str="bbb";}输入出本身  
  30. 'hello world'.charAt(1);//返回指定位置的字符  
  31. 'hello world'.charCodeAt(1);//返回指定位置的字符的Unicode编码  
  32. String.fromCharCode(72,69,76,76,79);//返回指定位置的字符  
  33. 'hello world'.concat('caonima')//链接字符串  
  34. 'hello world'.fontcolor('#999999')//指定的颜色来显示字符串如:<FONT color=#99999>hello world</FONT>  
  35. 'hello world'.fontsize('caonima')//使用指定的尺寸来显示字符串。  
  36. 'hello world'.link("https://www.xiariboke.com");//把文字转链接  

IE6和IE8对JS字符串操作的细微差别

本来以为JS代码应该是没有问题了,但是后来发现在IE6却无法正常运行,下面是页面导航的JS代码:

  1. $(function(){       
  2.             $("#tr1 div").bind("click"function(){//给所有在tr1里面的DIV注册一个OnClick事件     
  3.                        var name = $(this).attr("id"); //获取ID     
  4.                        
  5.                    if(name.indexOf('p')=="0")    
  6.                    {         
  7.                         for(var k=1;k<15;k++)    
  8.                         {       
  9.                             var cid="child"+k;    
  10.    
  11.                             if((name.length==7&&k==name.substring(6,7))||(name.length==8&&k==(name.substring(6,7)+name.substring(7,8))))    
  12.                             {                            
  13.                                 $("#"+cid+"").show();       
  14.                             }    
  15.                             else   
  16.                             {       
  17.                                 $("#"+cid+"").hide();      
  18.                             }    
  19.                         }    
  20.                     }                 
  21.             });    
  22.         });     
  23. $(function(){    
  24.             $("#tr1 div").bind("click"function(){//给所有在tr1里面的DIV注册一个OnClick事件  
  25.                        var name = $(this).attr("id"); //获取ID  
  26.                     
  27.                    if(name.indexOf('p')=="0")  
  28.                    {      
  29.                         for(var k=1;k<15;k++)  
  30.                         {    
  31.                             var cid="child"+k;  
  32.                             if((name.length==7&&k==name.substring(6,7))||(name.length==8&&k==(name.substring(6,7)+name.substring(7,8))))  
  33.                             {                         
  34.                                 $("#"+cid+"").show();    
  35.                             }  
  36.                             else  
  37.                             {    
  38.                                 $("#"+cid+"").hide();   
  39.                             }  
  40.                         }  
  41.                     }              
  42.             });  
  43.         });    

刚开始的时候在IE8浏览器下,我直接获取name的第一个字母,直接用数组的下标方法 name[0],可以获取在谷歌浏览器运行可以,但是我给我同事用的时候他的是IE6说没反映,我刚开始没注意 还以为他是开玩笑,今天我用VS自带的浏览器浏览的时候发现真的有问题 ,郁闷,以为是jquery不兼容,找了半天都说jquery兼容性好,没有说兼容性不好的,我一步一步调试终于发现在判断name[0]==p这个问题上找到了,于是马上换代码name.substring(0,1),在进行测试,总算是没有问题了,有时候看似很小的问题却真是折磨人!提醒大家以后制作网页的时候如果需要使用的jquery,还需多注意跨浏览器的问题,以及编码的问题,在就是字符转义

标签:

给我留言