zoukankan      html  css  js  c++  java
  • JavaScript字符串常用操作函数之学习笔记

    字符串简介

    使用英文单引号或双引号括起来,如:’Hello’,”World”,但是不能首尾的单引号和双引号必须一致,交错使用,如果要打印单引号或者双引号,可以使用转义字符\’(单引号),\”(双引号)

     代码如下 复制代码
    var str_1 = 'Hello World!';  //Hello World!
    var str_2 = "Hello World!";  //Hello World!
    var str_3 = '他说:"这样可以的。"';  //他说:"这样可以的。"
    var str_4 = "他说:\"这样可以的。\""; //他说:"这样可以的。"
    var str_5 = 'Hello World!"; //错误的使用
    var str_6 = "Hello World!'; //错误的使用

    连接字符串和另一个种数据类型
    使用+加号链接字符串

     代码如下 复制代码
    var uname = 'Kimy';
    var uage = '4';
    alert(uname + '今年' + uage + '岁了'); //弹窗:Kimy今年4岁了

    使用concat()方法连接字符串

     代码如下 复制代码
    var str = 'kimy';
    var age = '4';
    var newstr = str. concat('今年',age,'岁了'); //kimy今年4岁了
    alert(newstr);

    条件比较字符串

     代码如下 复制代码
    var strName = prompt('请输入你的姓名:','');
    if(strName.toLowerCase() == 'kimy'){ //==(双等号)比较变量strName的值是否是'Kimy'
     alert('原来你就是Kimy');
    }else{
     alert('你不是Kimy,你是'+strName);
    }
    strName.toLowerCase()把字符串转为小写,然后再进行比较

    相等 ==   运算数相同为真;否则为假
    严格相等 ===  运算数相同且具有相同的数据类型为真;否则为假
    不相等 !=  运算数不同为真;否则为假
    严格不相等 !== 运算数不同或者数据类型不同为真;否则为假
    大于 >  左边的运算数大于
    大于或等于 >=
    小于 <
    小于或等于 <=
    在字符串中查找子字符串
    indexOf( ) 从字符串的起始位置查找子字符串,可以找到子字符串,则返回子字符串的首字母所在的位置,否则返回-1,返回0表示在开始位置就匹配了。

     代码如下 复制代码
    var str = '111cn.net /key=value';
    var pos = str.indexOf('key');
    if(pos != -1){
     alert('找到了,索引号:'+pos); //下标索引从0开始
    }
    lastIndexOf( ) 从字符串的尾部从右向左查找子字符串,可以找到子字符串,则返回子字符串的首字母所在的位置,否则返回-1
    var pox = str.lastIndexOf('key');
    if(pox != -1){
     alert('找到了,索引号:'+pox); //匹配斜杠后面的key
    }

    从一个字符串提取子字符串

     代码如下 复制代码

    var dstStr = 'Hello Mekkey!';
    var start = dstStr.indexOf(' ')+1;//获取第一个空格的位置,并加1
    var end = dstStr.length;//获取字符串的长度
    var myStr = dstStr.substring(start,end);//按照起始位置和结束为止返回子字符串
    alert(myStr);//Mekkey!
    检查一个存在的、非空的字符串
    if((typeof unknowkey != "undefined") && (typeof unknowkey.valueOf() == "string") && (unkonwkey.length > 0)){
     alert('unknowkey是一个非空的、存在的字符串');
    }

    typeof unknowkey != “undefined” //判断变量unknowkey是否存在
    typeof unknowkey.valueOf() == “string” //如果unkonwkey是一个String对象,则返回一个字符串直接量
    unkonwkey.length > 0 //判断字符串的长度是否为空
    var str = 'helelo';   //字符串直接量
    var oStr = new String('world');//String对象
    alert(typeof str.valueOf()); //输出:String
    alert(typeof oStr.valueOf()); //输出:String
    alert(typeof str);    //输出:String
    alert(typeof oStr.valueOf()); //输出:Object

    将一个关键字字符串分解为单独的关键字
    使用split()方法按照指定的字符进行分割,返回一个数组,split()函数中的参数可以是字符串也可以是正则表达式

     代码如下 复制代码
    var str = "http://www.111cn.net ?key=value";
    var arr = str.split('?');//按照字符串中的问号对字符串进行分割
    alert(arr[1]);//弹窗显示问号后面的内容

    处理textarea的单个行

     代码如下 复制代码
    function showResult(){
     var text = document.getElementById('inputbox');
     var lines = text.value.split('\n');
     var resultString = '<p>';
     for(var i=0; i<lines.length; i++){
      resultString += lines[i] + '&lt;br /&gt;';
     }
     resultString += '</p>';
     var result = document.getElementById('result');
     result.innerHTML = resultString; 
    }

    在ECMAScript 5发布之前,必须使用正则表达式或者String的replace()方法去除掉一个字符串首尾的空格,现在只需要使用trim()方法就可以实现。
    str.trim();
    对于不支持trim()的浏览器可以使用String prototype添加定制的trim方法

     代码如下 复制代码
    if(typeof String.trim == 'undefined'){
        String.prototype.trim = function(){
            return this.replace(/(^\s*)|(\s*$)/g,'');
        }
    }

    左补充或右补充一个字符串

     代码如下 复制代码

    function setSameLength(num,preLength){
     var len = num.length;
     var diff = preLength - len;
     var filter='';
     for(var i=0; i&lt;diff; i++){
      filter += '0';
     }
     return filter + num;
    }

     原文来自: http://www.111cn.net/wy/js-ajax/64285.htm  

  • 相关阅读:
    ViewPage显示Fragment集合实现左右滑动并且出现tab栏--第三方开源--SlidingTabLayout和SlidingTabStrip实现
    Fragment的创建以及与activity的参数传递
    (转)Android属性设置android:noHistory="true"
    【英语】20140820 生词
    【性能测试】基础笔记
    【自动化测试】Selenium
    【自动化测试】Xpath学习
    【自动化测试】PO思路
    【网络】js调试F12控制台学习
    【自动化测试】Selenium excel操作
  • 原文地址:https://www.cnblogs.com/phpfans2012/p/3868508.html
Copyright © 2011-2022 走看看