JS字符串

字符串属性和方法

字符串简单应用的小案例

charAt ___返回位置在n上的字符

var str = "hello World!";
var str2 = "世界你好!";

var ch = str.charAt(6);
var ch1 = str2.charAt(1);
alert(ch);	//显示W
alert(ch1);	//显示界
返回顶层目录

charCodeAt ___返回位置n上的字符的unicode编码

var str = "hello World!";
var ch = str.charCodeAt(6);
alert(ch);	//结果为87
返回顶层目录

fromCharCode____返回数字对应的字符

var res = String.fromCharCode(65);
alert(res);		//结果为A
返回顶层目录

indexOf

从左到右在字符串中查到第一个符合的字符,找到就返回该位置,找不到返回-1

var str = "how do you do?";
var index = str.indexOf("o");		//从左往右开始查找 “o”
var index1 = str.indexOf("o", 2);	//在第二个字符处,从左往右开始查找 “o” 
var index2 = str.indexOf("a");		//从左往右开始查找 “a”

alert(index);
alert(index1);
alert(index2);

返回顶层目录

lastIndexOf

从右到左在字符串中查到第一个符合的字符,找到就返回字符在该字符串中的位置,找不到返回-1

var str = "how do you do?";
var index = str.lastIndexOf("?");			//从右往左开始查找 “?”
var index1 = str.lastIndexOf("o", 11);		//在第11个字符处,从右往左开始查找 “o”
var index2 = str.indexOf("a");				//从右往左开始查找 “a”

alert(index);
alert(index1);
alert(index2);
返回顶层目录

substr

var str = "welcome to china";
var str1 = "今天真是美好的一天!";
/**
 * substr(num) 表示字符串从num这个位置一直截取到最后,原来字符串不变
 * substr(num,length) 表示字符串从num这个位置截取length长度的字符串 
 */
var res = str.substr(2); //从索引为2的字符开始,一直截取到字符串的末尾
var res1 = str.substr(2, 3); //从索引为2的字符串开始,向后截取3个字符
var res2 = str1.substr(2);
var res3 = str1.substr(2, 3);

console.log(res);
console.log(res1);
console.log(res2);
console.log(res3);
返回顶层目录

substring

var str = "welcome to china";
var str1 = "今天真是美好的一天!";
/**
 * substring(num)      表示字符串从num这个位置一直截取到最后,原来字符串不变
 * substring(from,to)  表示字符串从from位置开始 截取到to这个位置 但是不包含to这个位置
 */

var res = str.substring(3);     //从索引为3开始截取,知道字符串末尾
var res1 = str.substring(2, 3); //截取索引为2-3的字符
var res2 = str1.substring(3);
var res3 = str1.substring(2, 3);

console.log(res);
console.log(res1);
console.log(res2);
console.log(res3);
返回顶层目录

split

//split将字符串分割成字符数组
var str = "My name is along";
var res = str.split(" ");
console.log(res); // 结果为返回一个数组:["My", "name", "is", "along"]

var arr = res;
var res_str = arr.join(" ");
console.log(res_str);   //My name is along
split的应用
  • 拿到网址字符串的uname和psw
    //多次截取
    var url = "http://www.baidu.com?uname=zs&psw=123456";
    var arr = url.split("?");
    console.log(arr);
    arr = arr[1].split("&"); // ["uname=zhangsan","psw=123456"]
    var uname = arr[0].split("=")[1];
    var psw = arr[1].split("=")[1];
    console.log(uname, psw);
    
  • 字符串反转 —— 将"lmnopq" 变成"qponml"
    //字符串反转
    var str = "lmnopq";
    var arr = str.split("");
    var res = arr.reverse().join("");
    console.log(res); // qponml
    
返回顶层目录

toLowerCase

var str1 = "abbgHGtY";
console.log(str1.toLowerCase());
console.log(str1);
返回顶层目录

toUpperCase

var str1 = "abbgHGtY";
console.log(str1.toUpperCase());
console.log(str1);
返回顶层目录

字符串简单应用的小案例

  • 统计字符串中小写字母个数 大写字母个数 数字字符个数 其他字符的个数

    var str = "ahhf323hj5%#$Ab!2Uy";
    function fnCount(str) {
        // 思路 分别对字符串中每个字符进行判断
        var small = 0;
        var big = 0;
        var num = 0;
        var others = 0;
        for (var i = 0; i < str.length; i++) {
            var ch = str.charAt(i);
            if (ch >= "a" && ch <= "z") {
                small++;
            } else if (ch >= "A" && ch <= "Z") {
                big++;
            } else if (ch >= "0" && ch <= "9") {
                num++;
            } else {
                others++;
            }
        }
        console.log("小写字母个数:" + small + "\n大写字母个数:" + big + "\n数字字符的个数:" + num + "\n其他字符的个数:" + others);
    }
    
    fnCount(str);
    
  • 统计str中出现字符(32~127)的次数

    var str = "ahhf323hj5%#$Ab!2Uy";
    function getCharCount(str) {
        //  
        for (var code = 32; code <= 127; code++) {
            var ch = String.fromCharCode(code);
            var count = 0;
            // 对给定的字符串循环
            for (var i = 0; i < str.length; i++) {
                if (str.charAt(i) === ch) {
                    count++;
                }
            }
            // count>0证明有出现
            if (count > 0) {
                console.log("字符" + ch + "出现了" + count + "次");
            }
        }
    }
    getCharCount(str);
    
返回顶层目录

返回目录

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值