0003.js字符串操作

通过 + 连接符拼接字符串:

var str1 = "hello";
str1 = str1 + " javaScript";
document.write(str1);

或者:

var str1 = "hello";
str1 += " javaScript";
document.write(str1);

输出:hello javaScript

要在字符串中添加换行符,需要使用转义字符"\n",但这种方法只能用在像警告、确认对话框之类的情况下。

如果将这段文本作为HTML内容呈现,就无效了,此时用"<br>"代替它

js concat()方法:

string.concat(string2, string3[, ..., stringN]);

var str2 = "hello".concat(" javaScript"," world");
document.write(str2);

这种拼接的方式不如直接用加号拼接方便;

js 字符串长度length属性:

返回字符个数,而不是字节长度;

var str = "kitty猫";
document.write(str.length);

返回长度6

js substr(),用于返回一个从指定位置开始的指定长度的子字符串。

语法:stringObject.substr(start [, length ])

start   必需。所需的子字符串的起始位置。字符串中的第一个字符的索引为 0。
length 可选。在返回的子字符串中应包括的字符个数。

说明

如果start为负数,则start=str.length+start。start大于字符串最后一个字符串的索引将返回空字符串。

如果 length 为 0 或负数,将返回一个空字符串。

如果没有指定length参数或者length大于字符串长度,则子字符串将延续到stringObject的最后。

两参数为小数也是被允许的采用去小数部分操作,使返回结果不至于报错,但实际上没有意义,索引和长度不会存在小数的情况;

js substring(),substring 方法用于提取字符串中介于两个指定下标之间的字符

开始和结束的位置,从零开始的索引

参数     描述

start     必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。

stop     可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。如果省略该参数,那么返回的子串会一直到字符串的结尾。

返回一个新的字符串,该字符串值包含 stringObject 的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符,其长度为 stop 减 start。

substring 方法返回的子串包括 start 处的字符,但不包括 end 处的字符。
如果 start 与 end 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。
如果 start 比 end 大,那么该方法在提取子串之前会先交换这两个参数。
如果 start 或 end 为负数,那么它将被替换为 0。(end为负数那么,替换成0,那么就是substr(0,startvalue))

两参数为小数也是被允许的采用去小数部分操作,使返回结果不至于报错,但实际上没有意义,索引不会存在小数的情况;

js slice()

string.slice(start, end) 返回从start位置开始到end-1位置的的子字符串;

start大于字符串长度返回空字符串;

end大于字符串长度返回从start到字符串结尾的子串;

start和end都可以为负数,意为从字符串最后倒着数,最后一个字符为-1;

start和end为负数都应先从字符串最后数起确定自己的索引;

如果end的索引小于start的索引则返回空字符串;

两参数为小数也是被允许的采用去小数部分操作,使返回结果不至于报错,但实际上没有意义,索引不会存在小数的情况;

js toLowerCase()和toUpperCase()

toLowerCase()将字符串转为全小写;

toUpperCase()将字符串转为全大写;

不影响字符串本身;

var str = "ShanGHai";
document.write(str.toLowerCase() + "<br>");
document.write(str.toUpperCase() + "<br>");
document.write(str);

shanghai
SHANGHAI
ShanGHai

js indexOf()

返回某个指定的字符串在字符串中首次出现的位置(从左向右)。包含子串返回下标,不包含返回-1;

js lastIndexOf()

返回从右向左出现某个字符或字符串的首个字符索引值;

js charAt(index) 返回某个索引处的字符;

js charCodeAt(index) 返回某个索引处字符的unicode值;

js String.fromCharCode(index1,index2...indexn)

var str = String.fromCharCode(72, 101, 108, 108, 111);
document.write(str);

输出Hello

上面的length属性可以确定字符串的字符长度;

当js校验时,需要限定字符长度,必须根据字节来统计;

匹配中文字符的正则表达式: [\u4e00-\u9fa5]

匹配双字节字符(包括汉字在内):[^\x0000-\x00ff]

下面的字节长度统计来自于:星期八的Blog
内容正确性未测试;

str.charCodeAt(i)>255 的字符占两个字符;

 1 var lenFor = function(str){
 2   var byteLen=0,len=str.length;
 3   if(str){
 4     for(var i=0; i<len; i++){
 5       if(str.charCodeAt(i)>255){
 6         byteLen += 2;
 7       }
 8       else{
 9         byteLen++;
10       }
11     }
12     return byteLen;
13   }
14   else{
15     return 0;
16   }
17 }

正则表达式检测字符串的字节长度:

var lenReg = function(str){
  return str.replace(/[^x00-xFF]/g,‘**‘).length;
}

用正则表达式检测所用的时间竟然是for循环的两倍!!!!

这个好使---
function getBytesLength(str) {
// 在GBK编码里,除了ASCII字符,其它都占两个字符宽
return str.replace(/[^\x00-\xff]/g, ‘xx‘).length;

时间: 2024-10-13 04:59:30

0003.js字符串操作的相关文章

js字符串操作总结

字符方法 [html] view plain copy <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>字符方法</title> </head> <body> <script type="text/javascript"> /* charAt方法和c

javascript中字符串常用操作总结、JS字符串操作大全

字符串的操作在js中非常频繁,也非常重要.以往看完书之后都能记得非常清楚,但稍微隔一段时间不用,便会忘得差不多,记性不好是硬伤啊...今天就对字符串的一些常用操作做个整理,一者加深印象,二者方便今后温习查阅. String对象属性 (1) length属性 length算是字符串中非常常用的一个属性了,它的功能是获取字符串的长度.当然需要注意的是js中的中文每个汉字也只代表一个字符,这里可能跟其他语言有些不一样. var str = 'abc'; console.log(str.length);

js--javascript中字符串常用操作总结、JS字符串操作大全

字符串的操作在js中非常频繁,也非常重要.以往看完书之后都能记得非常清楚,但稍微隔一段时间不用,便会忘得差不多,记性不好是硬伤啊...今天就对字符串的一些常用操作做个整理,一者加深印象,二者方便今后温习查阅. String对象属性 (1) length属性 length算是字符串中非常常用的一个属性了,它的功能是获取字符串的长度.当然需要注意的是js中的中文每个汉字也只代表一个字符,这里可能跟其他语言有些不一样. var str = 'abc'; console.log(str.length);

js字符串操作

JS自带函数concat将两个或多个字符的文本组合起来,返回一个新的字符串.var a = "hello";var b = ",world";var c = a.concat(b);alert(c);//c = "hello,world"indexOf返回字符串中一个子串第一处出现的索引(从左到右搜索).如果没有匹配项,返回 -1 .var index1 = a.indexOf("l");//index1 = 2var ind

js 字符串操作函数

concat() – 将两个或多个字符的文本组合起来,返回一个新的字符串. indexOf() – 返回字符串中一个子串第一处出现的索引.如果没有匹配项,返回 -1 . charAt() – 返回指定位置的字符. lastIndexOf() – 返回字符串中一个子串最后一处出现的索引,如果没有匹配项,返回 -1 . match() – 检查一个字符串是否匹配一个正则表达式. substring() – 返回字符串的一个子串.传入参数是起始位置和结束位置. replace() – 用来查找匹配一个

js 字符串操作

JSON.parse()和JSON.stringify parse用于从一个字符串中解析出json对象,如 var str = '{"name":"huangxiaojian","age":"23"}' 结果: JSON.parse(str) Object age: "23" name: "huangxiaojian" __proto__: Object 注意:单引号写在{}外,每个属性

JS 字符串操作总结

[MDN]https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String [参考]https://www.cnblogs.com/guoyeqiang/p/8178336.html 字符串转换 1.toString() var age = 11; var ageAsString = age.toString(); //字符串"11" var found = true; var

js字符串操作大全整理

1. anchor定义和用法 anchor() 方法用于创建 HTML 锚.(可用于鼠标定位到哪里,给文本加上样式) stringObject.anchor(anchorname) 参数 描述 anchorname 必需.为锚定义名称 实例 1 <script type="text/javascript"> 2 3 var txt="Hello world!" 4 document.write(txt.anchor("myanchor"

JS 字符串的操作

JS字符串操作还是很频繁,如果同正则表达式结合起来,功能非常强大. 1.test    验证字符串是否符合正则表达式. /\s+/.test(" i'm you"); //true 它只会返回true和false; 2.Match    字符串内检索指定的值,或找到一个或多个正则表达式的匹配. 匹配到值返回一个数组,否则返回为null. 2.1 match的使用与正则表达式的g标志有很大的关系,如果正则中没有g,那么第 0 个元素存放的是匹配文本, 还含有两个对象属性.index 属性