iTakeo

js操作字符串和数字的方法整理…

对字符的各种操作有时候总会忘记几个,这次做一下整理:

length – 返回字符串的长度

  1. ‘abcd’.length;  //4  

Math.ceil(num) – 向上取整,不管小数点后面是多少,哪怕.00001,也会向上进一位。

  1. Math.ceil(25.9); //26  
  2. Math.ceil(25.5); //26  
  3. Math.ceil(25.1); //26  

Math.floor(num) – 向下取整,不管小数点后面是多少,哪怕.99999,也会向下减一位。

  1. Math.floor(25.9); //25  
  2. Math.floor(25.5); //25  
  3. Math.floor(25.1); //25  

Math.round(num) – 四舍五入。

  1. Math.round(25.9); //26  
  2. Math.round(25.5); //26  
  3. Math.round(25.1); //25  

Math.abs(num) – 返回数的绝对值。

  1. Math.abs(-10); // 10  
  2. Math.abs(10); // 10  
  3. Math.abs(-10.5); // 10.5  

Math.max(n,n1,n2) – 可返回指定的数中最大的那个数[在 ECMASCript v3 之前,该方法只有两个参数]。

  1. Math.max(1,32,4,5,6,7,87)  //87  

Math.min(n,n1,n2) – 可返回指定的数中最小的那个数[在 ECMASCript v3 之前,该方法只有两个参数]。

  1. Math.max(1,32,4,5,6,7,87)  //1  

Math.random() – 随机数,如返回指定数字之间的随机数,公式是:Math.random()*(y-x) + x

  1. //返回0-1之间的随机数,默认带有小数的  
  2. Math.random();  
  3. //下面只返回0和1的随机数,记住是和,不是0就是1  
  4. Math.round( Math.random() )  
  5. //5-10的随机数  
  6. Math.round( Math.random()*5 + 5 )  
  7. //10-20的随机数  
  8. Math.round( Math.random()*10 + 10 )  
  9. //0-100的随机数  
  10. Math.round( Math.random()*100 )  

Math还有很多方法,其它的不常用,这里就不做介绍了,具体可查看w3c。

charAt() – 返回指定位置的字符。

  1. ‘abcd’.charAt(0);  //a  
  2. ‘abcd’.charAt(1);  //b  
  3. ‘abcd’.charAt(2);  //c  

charCodeAt() – 获取指定位置字符的编码(unicodo编码)。

  1. ‘abcd’.charCodeAt(1)  //98  
  2. ‘abcd’.charCodeAt(2)  //99  

fromCharCode() – 可接受一个或者多个指定的 Unicode 值,然后返回一个字符串。

  1. String.fromCharCode(97)  //a  
  2. String.fromCharCode(97,98,99,100,101,102)  //abcdef  

indexOf() – 返回字符串中一个子串第一处出现的索引。如果没有匹配项,返回 -1 。

  1. ‘abcd’.indexOf(‘b’) //1  
  2. ‘abcd’.indexOf(‘g’) //-1  

substring() – 如果是一个参数,返回下标从start处开始到结束的字符;如果是两个参数,则提取字符串从start到end-1之间的字符。

  1. ‘abcd’.substring(3)    //d  
  2. ‘abcd’.substring(0,3)  //abc  
  3. ‘abcd’.substring(1,2)  //b  

substr() – 如果是一个参数,返回下标从start处开始到结束的字符;如果是两个参数,则提取字符串从start位置开始截取end位。

  1. ‘abcd’.substr(3)    //d  
  2. ‘abcd’.substr(0,2)  //ab  
  3. ‘abcd’.substr(1,2)  //bc  

slice() – 如果是一个参数,返回下标从start处开始到结束的字符,如果是负数,则从后面开始取值几位字符;如果是两个参数,则提取字符串从start到end-1之间的字符,如果第一个是负数,那么第二个不能小于第一个字符的位置,这个比较绕。具体看下面的代码。

  1. ‘abcd’.slice(-1)    //d  
  2. ‘abcd’.slice(-2)    //cd  
  3. ‘abcd’.slice(3)    //d  
  4. ‘abcd’.slice(0,2)  //ab  
  5. ‘abcd’.slice(1,2)  //b  
  6. //此时-2,选取到c的位置,后面的2,根据规则,位置应该是2-1,也就是b的位置,所以返回的是空  
  7. ‘abcd’.slice(-2,2)  //   
  8. //此时-2,选取到c的位置,后面的3,根据规则,位置应该是3-1,也就是c的位置,所以返回为c  
  9. ‘abcd’.slice(-2,3)  //c  

replace() – 字符串替换。

  1. //把a替换成x  
  2. ‘abcd’.replace(‘a’,’x’)  //xbcd  
  3. //只能替换第一次匹配的内容,后面的不做匹配  
  4. ‘abacad’.replace(‘a’,’x’)  //xbacad  
  5. //如果要全部匹配替换,需要配合正则  
  6. ‘abacad’.replace(/a/gi,’x’)  //xbxcxd  

split() – 字符串分割成数组。如果一个参数,则根据参数来分割,如果两个,则根据第二个参数,取几个

  1. //如果是一个空字符,则把字符串每一个都分割开  
  2. ‘abcd’.split(“”);  //”a”, “b”, “c”, “d”  
  3. //如果是一个空格,则根据空格分割,如果没有空格,直接输出原字符串  
  4. ‘ab cd’.split(” “);  //”ab”, “cd”  
  5. //如果是一个空格,则根据空格分割,如果没有空格,直接输出原字符串  
  6. ‘abacad’.split(“a”);  //””, “b”, “c”, “d”  
  7. ‘abacad’.split(“a”,2);  //””, “b”  

toUpperCase() – 将小写字符串转换成大写

  1. ‘abcd’.toUpperCase(“”);  //ABCD  

toUpperCase() – 将大写字符串转换成小写

  1. ‘ABCD’.toUpperCase(“”);  //abcd  

parseInt() – 字符串转成数字,遇到非数字既停止,第一个字符不能被转换为数字,返回NaN

  1. parseInt(‘123abc’) //123  
  2. parseInt(‘abc123’) //NaN  

parseFloat() – 字符串转成小数,遇到非数字既停止,第一个字符不能被转换为数字,返回NaN

  1. parseInt(’10’) //10  
  2. parseInt(’10abc’) //10  
  3. parseInt(‘10.256’) //10.256  
  4. parseInt(‘10.25W6’) //10.25  
  5. parseInt(‘W60’) //NaN  
2015/07/08 0 /
未分类
/
标签:  暂无标签

验证码: 1 + 2 =

回到顶部