zoukankan      html  css  js  c++  java
  • javascript 字符串处理函数

    parseFloat() 函数
    可解析一个字符串,并返回一个浮点数。开头和结尾的空格是允许的。2014-10-10
    字符串中的首个字符是否是数字,如果是,则对字符串进行解析,直到到达数字的末端为止,然后以数字返回该数字,而不是作为字符串。
    如果字符串第一个字符不能被解析成为数字,则 parseFloat 返回 NaN (Not a Number 缩写)。
    如果在解析过程中遇到了正负号(+ 或 -)、数字 (0-9)、小数点,或者科学记数法中的指数(e或E)以外的字符,
    则它会忽略该字符以及之后的所有字符,返回当前已经解析到的浮点数。
    可以通过调用 isNaN 函数来判断 parseFloat 的返回结果是否是 NaN。NaN 与其他数值计算后的结果也是 NaN。
    如果只想解析数字的整数部分,请使用 parseInt() 方法。
    parseFloat 是全局函数,不属于任何对象。


    parseInt() 函数
    parseInt(string, radix)
    radix 进制 (2-36) 可选参数 ,解析为该进制的整数。
    可解析一个字符串,并返回一个整数。
    parseInt("10"); //返回 10
    parseInt("19",10); //返回 19 (10+9)
    parseInt("11",2); //返回 3 (2+1)
    parseInt("17",8); //返回 15 (8+7)
    parseInt("1f",16); //返回 31 (16+15)
    parseInt("010"); //未定:返回 10 或 8
    全局函数。

    Number(object) 函数
    把对象的值转换为数字。如果对象的值无法转换为数字,那么 Number() 函数返回 NaN。
    如果参数是 Date 对象,Number() 返回从 1970 年 1 月 1 日至今的毫秒数。
    true转换为1 ,false转换为 0
    全局函数。
    Number(true) 1
    Number("true") NaN


    isNaN(x) 函数
    如果 x 是特殊的非数字值 NaN(或者能被转换为这样的值),返回的值就是 true。
    如果 x 是其他值 , 则返回 false。
    全局函数。

    String(object) 函数
    把对象的值转换为字符串。
    String(1) = true
    String(new Date()) = Tue Sep 30 2014 12:38:00 GMT+0800 (中国标准时间)

    eval(string) 函数
    可计算某个字符串,并执行其中的的 JavaScript 代码。
    返回值:通过计算 string 得到的值(如果有的话)。
    eval("alert('Hello world')") // 弹出Hello world
    该方法只接受原始字符串作为参数,如果 string 参数不是原始字符串,那么该方法将不作任何改变地返回。
    因此请不要为 eval() 函数传递 String 对象来作为参数。
    如果参数中没有合法的表达式和语句,则抛出 SyntaxError 异常。
    如果传递给 eval() 的 Javascript 代码生成了一个异常,eval() 将把该异常传递给调用者。
    <script>
    try {
    alert("Result:" + eval(prompt("Enter an expression:","")));
    }
    catch(e) {
    alert(e);
    }
    </script>
    如果非法调用 eval(),则抛出 EvalError 异常。


    concat()
    方法用于连接两个或多个字符串。
    该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。
    arrayObject.concat(arrayX,arrayX,......,arrayX)
    concat() 方法将把它的所有参数转换成字符串,然后按顺序连接到字符串 stringObject 的尾部,并返回连接后的字符串。请注意,stringObject 本身并没有被更改。
    提示:请注意,使用 " + " 运算符来进行字符串的连接运算通常会更简便一些。

    示例1
    var str1="Hello "
    var str2="world!"
    document.write(str1.concat(str2)) // Hello world!
    document.write(str1) // Hello

    示例2
    var a = [1,'abc',3];
    document.write(a.concat(4,5)); // 1,abc,3,4,5
    document.write(a) // 1,abc,3
    document.write(a[1]) // abc

    示例3
    var arr = new Array(3)
    arr[0] = 1
    arr[1] = 2
    arr[2] = 3

    var arr2 = new Array(3)
    arr2[0] = 4
    arr2[1] = 5
    arr2[2] = 6

    var arr3 = new Array(3)
    arr3[0] = 7
    arr3[1] = 'abc'
    arr3[2] = 9

    document.write(arr.concat(arr2)) // 1,2,3,7,8,9
    document.write(arr.concat(arr2,arr3)) // 1,2,3,4,5,6,7,abc,9


    parse() 方法
    可解析一个日期时间字符串,并返回 1970/1/1 午夜距离该日期时间的毫秒数。
    Date.parse(datestring)
    一般采用 Date.parse() 的形式来调用,而不是通过 dateobject.parse() 调用该方法。
    var d = Date.parse("Jul 8, 2005")
    document.write(d) // 1120752000000


    toString() 方法

    示例1 Number
    var num1 = 10;
    document.write(num1.toString(2)); //输出1010
    document.write(num1.toString(8)); //输出12
    document.write(num1.toString(16)); //输出A

    示例2 数组
    var arr= new Array (1,2,3);
    document.write(arr.toString())

    示例3 字符串
    var arr= "true"
    document.write(arr.toString()) // true
    var arr= 4
    document.write(arr.toString()) // 4

    示例4 boolen
    var arr= new Boolean(5)
    document.write(arr.toString()) // true

    var arr= new Boolean(0)
    document.write(arr.toString()) //false

    示例5 时间对象
    var arr = new Date();
    document.write(arr.toString()) // Wed Oct 01 2014 13:29:40 GMT+0800 (中国标准时间)
    document.write(arr.toLocaleString()) // 2014年10月1日 下午1:30:33

    示例6 function

    function add(a,b){
    var a,b,c;
    c = a + b;
    return c;
    }
    document.write(add.toString()); // function add(a,b){ var a,b,c; c = a + b; return c; }

    split() 方法
    用于把一个字符串分割成字符串数组。返回值为数组。
    stringObject.split(separator,howmany)
    separator 必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。
    howmany 可选。该参数可指定返回的数组的最大长度。如果没有设置该参数,整个字符串都会被分割返回。
    如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。
    "2:3:4:5".split(":") // 将返回["2", "3", "4", "5"]
    "|a|b|c".split("|") // 将返回["", "a", "b", "c"]
    String.split() 执行的操作与 Array.join 执行的操作是相反的。


    JavaScript join() 方法
    join() 方法用于把数组中的所有元素放入一个字符串。不改变arrayObject。
    arrayObject.join(separator)
    separator 可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。
    <script>
    var arr = [];
    arr[0] = "hello"
    arr[1] = "china"
    arr[2] = "ren"
    document.write(arr.join() + "<br />"); // hello,china,ren
    document.write(arr.join(".") + "<br />"); // hello.china.ren
    document.write(arr.join("")); // hellochinaren
    </script>

    splice() 方法
    向从数组中添加/删除项目,然后返回被删除的项目。
    可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。
    arrayObject.splice(index,howmany,item1,.....,itemX)
    index 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
    howmany 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
    item1, ..., itemX 可选。向数组添加的新项目。
    splice() 方法与 slice() 方法的作用是不同的,splice() 方法会直接对数组进行修改。

    一个splice(),split(),join()结合使用的方法
    <script>
    // 将hello_word 转成 HELLOWORD
    var atr,strArr;
    str ='hello_word';
    strArr = str.split('');
    strArr.splice(5,1);
    document.write(strArr.join('').toUpperCase());
    </script>

    slice() 方法
    可提取字符串的某个部分,返回值是一个新的字符串。
    包括字符串 stringObject 从 start 开始(包括 start)到 end 结束(不包括 end)为止的所有字符。
    stringObject.slice(start,end) star和end都是起始下标。( star = 0 表示第一个元素 )
    start 必需。 规定从何处开始选取。如果是负数,那么尾部开始算起的位置。
    end 可选。规定从何处结束选取。如果无参数,那么切分的字符串包含从 start 到结束的所有元素。
    如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。

    请注意,该方法并不会修改字符串,而是返回一个子字符串。
    还要注意的是,String.slice() 与 Array.slice() 相似。


    reverse() 方法
    用于颠倒数组中元素的顺序。该方法会改变原来的数组,而不会创建新的数组。
    arrayObject.reverse()


    unshift
    可向数组的开头添加一个或更多元素,并返回新的长度。不创建新的数组,而是直接修改原有的数组。
    arrayObject.unshift(newelement1,newelement2,....,newelementX)
    newelement1 必需。向数组添加的第一个元素。
    newelement2 可选。向数组添加的第二个元素。
    newelementX 可选。可添加若干个元素。
    返回值
    arrayObject 的新长度。与push()方法相似。
    unshift() IE 不支持。


    shift() 方法
    用于把数组的第一个元素从其中删除,并返回第一个元素的值。该方法不创建新数组,而是直接修改原有的 arrayObject。
    如果数组是空的,那么 shift() 方法将不进行任何操作,返回 undefined 值。
    arrayObject.shift()


    sort()方法
    用于对数组的元素进行排序。
    arrayObject.sort(sortby)
    sortby 可选。规定排序顺序。必须是函数。无参数是按照字符编码的顺序进行排序。
    对数组的引用。请注意,数组在原数组上进行排序,不生成副本。
    如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。

    function sortNumber(a, b)
    {
    return a - b // 升序
    return b - a // 降序
    }
    比较函数应该具有两个参数 a 和 b,其返回值如下:
    若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
    若 a 等于 b,则返回 0。
    若 a 大于 b,则返回一个大于 0 的值。

    函数名称 返回值  是否改变原对象  原对象如何改变   出现意外的情况 意外情况返回  浏览器支持
    pop() 数组最后一个值   删除最后一个值的新数组 原数组为空 undefine  
    push()    新数组的长度个数   添加值后的新数组     
    unshift() 新数组的长度个数 添加值后的新数组    ie不支持
    shift()  数组最前一个值 删除最前一个值的新数组 原数组为空  undefine  
    splice(index,number,item)  修改后的数组 删除/增加数组元素    
    slice(star,[end])  截取的新字符串和数组       
    split(separator,number)  字符串分割后的数组      
    join(separator) 数组连接后的字符串      
    reverse()  新数组 元素颠倒后的新数组    
    sort() 新数组  排序后数组    
  • 相关阅读:
    Docker-compose部署Elasticsearch+Kibana+Filebeat+APM(7.13.2)
    容器和镜像转化、迁移方式
    Docker部署redis主从+读写分离+哨兵
    简单的Redis及哨兵监控报警
    Prometheus监控docker容器
    Jenkins---多选参数构建
    Nginx——基于站点目录和文件的URL访问控制、禁止IP/非法域名访问
    Docker-compose构建jenkins环境
    Docker部署kafka集群
    Goreplay-使用真实流量测试
  • 原文地址:https://www.cnblogs.com/bigdesign/p/4013736.html
Copyright © 2011-2022 走看看