码迷,mamicode.com
首页 > 其他好文 > 详细

字符串方法

时间:2017-04-02 23:21:05      阅读:289      评论:0      收藏:0      [点我收藏+]

标签:ase   obj   span   bsp   开始   char   北京   大小   第一个   

字符串变量点charAt() 获取制定字符串索引对应的值,括号中写索引
下面是代码:

<!--字符串-->
<script type="text/javascript">
    var stringObj = "hello world";
    for(var i=0;i<stringObj.length;i++){
        console.log(stringObj.charAt(i));
    }
</script>



charCodeAt获取ASCII码值(按键值)

var stringObj = "hello world";
    for(var i=0;i<stringObj.length;i++){
        console.log(stringObj.charCodeAt(i));
    }








字符串截取 从n截取m个(从n开始截取m个) (个数)
 /*substr(n,m)*/ 不影响原数组
    var stringObj = "hello world";
   alert(stringObj.substr(3,5));//从索引3开始截取5个字符



字符串截取 从n截取到m(位置)
 /*substring(n,m)*/ 不影响原数组
    var stringObj = "hello world";
   alert(stringObj.substring(0,5));





字符串截取 从n到m(位置) 不影响原数组
/*slice 这个参数支持以负数作为索引 其他和substring一样*/
    var stringObj = "hello world";
    alert(stringObj.slice(-3,-1));//rl 
    stringObj.length 加负数索引就是qi‘shi起始位置,如果只写一个数字就是从这里截取到末尾,只写一个数字三种模式都一样


 var sliceObj = "12345";
 console.log("sliceObj.slice(0)",sliceObj.slice(-5,-3));//结果是12也就是说这个函数没办法截取到第二个参数的索引,只能是第二参数索引的前一位,

 console.log("sliceObj.slice(0)",sliceObj.slice(-1));//结果是5,
  console.log("sliceObj.slice(0)",sliceObj.slice(-0));//结果是12345,也就是说没有-0这个参数索引,和0是一样的
   console.log("sliceObj.slice(0)",sliceObj.slice(-1,-3));这个是空的,因为不能倒着截取

   var sliceObj = "012345";
    console.log("sliceObj.slice(0)",sliceObj.slice(3,5));//这个结果是3,4和负数一样不能截取到第二个参数的索引只能截取到第二个参数索引的前一位




indexOf(字符) 获取指定字符在字符串中第一次出现的位置
lastIndexOf(字符)获取指定字符在字符串中最后一次出现的位置
如果没有返回的是-1
位置从0开始计算
两个都是从字符串左侧开始数位置
判断的时候如果是包含此字符用>-1去判断
不包含用==-1去判断





字符串大小写转换
toLowerCase() 将字符串转化为小写

toUpperCase()将字符串转化为大写




字符替换
 /*replace替换*/  不影响原数组
    var str = "!我爱北京天安门!";
    alert(str.replace("!","毛爷爷说"));
    这里测试过发现它会替换第一个出现的元素
如果想全部替换有两种办法,常用的是正则:
  alert(str.replace(/!/g,"毛爷爷说"));
  还有一种办法就是替换几个就写几次,但是太麻烦不推荐


join方法可以按照指定分割符把数组变成字符串
 /*join*/ 不影响原数组
    var array = [1,2,3];
    alert(array.join("+"));


  var sliceObj = [1,2,3,4,5];
   var sliceObj2 =  sliceObj.join("");
    console.log(sliceObj2);  输出是“12345”

  var sliceObj = [1,2,3,4,5];
   var sliceObj2 =  sliceObj.join(" ");
    console.log(sliceObj2);输出是“1 2 3 4 5”

var sliceObj = [1,2,3,4,5];
   var sliceObj2 =  sliceObj.join(");
    console.log(sliceObj2);输出是“1,2,3,4 ,5”
 
    





按照某一个字符把字符串拆分成字符数组
 /*split*/ 不影响原字符串
 
 
    var str = "!+我+爱+北+京+天+安+门!"
    console.log(str.split("+"));


 var str = "!+我+爱+北+京+天+安+门!"
    console.log(str.split(""));
    如果只写个空字符串在括号里就代表把每个字符都当做数组中的一个元素单独存储


如果括号中的字符是字符串里没有的就把整个字符串都当做是一个字符串数组元素返回
  var sliceObj = "12345";
    var sliceObj2 =  sliceObj.split("...");
    console.log(sliceObj2);
    console.log(sliceObj);




 var str = "!+我+爱+北+京+天+安+门!"
    console.log(str.split("京"));
    
这就是拿其中一个字符当分隔符,这个分割符之前和之后分别为一个数组元素,但是没有这个分隔符的字符,因为它是分隔符





 var str = "我 爱 北 京 天 安 门!"
    console.log(str.split(" "));

这就是按照空格去拆分字符串数组

如果括号里是个字符串没有的字符,那么返回整个字符串当一个数组元素


var str = "我 爱 北 京 天 安 门!"
    var str2 = str.split("我");
    console.log(str2);
    console.log(str);


 var str = "我 爱 北 京 天 安 门!"
    var str2 = str.split("爱");
    console.log(str2);
    console.log(str);
 根据上面这两个结果,发现如果有被分割的这个元素就把整个元素删掉留下左右两边的字符串元素放到数组中,同时留下空格
的位置




 var time = "2015-5-24 12:55:3";
    //2015年05月24日 12点55分03秒
    var s = time.split(" ");
    var s1 =s[0];
    var s2 =s[1];
    var s3 = s1.split("-");
    var s4 = s2.split(":");
    console.log(s3);
    console.log(s4);

    function addZero (obj){
        return obj<10?"0"+obj:obj;
    }

    var result = addZero(s3[0])+"年"+addZero(s3[1])+"月"+addZero(s3[2])+"日"+" "+addZero(s4[0])+"时"+addZero(s4[1])+"分"+addZero(s4[2])+"秒";
    console.log(result);
    

 

字符串方法

标签:ase   obj   span   bsp   开始   char   北京   大小   第一个   

原文地址:http://www.cnblogs.com/woaiqiaodaima/p/6660132.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!