JavaScript核心语法学习部分(七)
获取指定位置的字符:str.charAt(index);
案例:获取身份证指定位置数字判断性别
1 var input=prompt("请输入 身份证号码:"); 2 var char=input.charAt(input.length-2); 3 console.log(char%2==0?"女":"男");
获取指定位置位置字符的unicode编码:var num=str.charCodeAt(index);
案例1:编码解码
1 var input=prompt("输入消息:"); 2 var result=[]; 3 for (i=0;i<input.length;i++){ 4 result.push(input.charCodeAt(i)); 5 }; 6 document.write(result.join(""));
案例2:编码解码(包含数字的情况)
1 var input=prompt("输入消息:"); 2 var result=[]; 3 for (i=0;i<input.length;i++){ 4 var num=input.charCodeAt(i) 5 if(num<10000){ 6 var arr=[0,0,0,0,0]; 7 var code=num+""; 8 var start=5-code.length; 9 for(var n=0;n<code.length;n++){ 10 arr[start]=code[n]; 11 start++; 12 } 13 num=arr.join("") 14 } 15 result.push(num) 16 }; 17 document.write(result)
字符串三大操作:1查找关键字2替换关键字3获取字符串
查找关键字:str.indexOf("关键字");返回关键字所在位置,如果没找到分给-1
indexOf:懒——只找第一个关键字位置 蠢——默认只能从位置0开始!
var index=str.indexOf("关键字",from);
from:开始查找位置,从from开始向后查找。
案例:使用indexOf查找所有关键字位置!
1 var str='女神说要来,我草草的收拾了下房间,结果她又说不来了,我说:我草!'; 2 var index=-1; 3 while((index=str.indexOf("我草",index+1))!=-1){ 4 console.log("位置"+index+ "发现关键字"); 5 }
①var index=str.lastIndexOf("关键字",from);
from:开始查找的位置,从from向前查找
获取子字符串:var subStr=str.slice(start,end)
②str.substring(start,end+1)用完完全同str.slice
唯一差别:substring不支持负数作为参数。
③str.substr(start,*count*)
以上三个方法省略第二个参数默认都是取到结尾。
案例:获取生日
1 var input=prompt("请输入 身份证号码:"); 2 var char=input.charAt(input.length-2); 3 var birth=input.slice(6,6+8); 4 console.log(birth); 5 console.log(char%2==0?"女":"男");
按照规律分割字符串:str.split("分隔符"[,count])
案例:转换首字母为大写
1 var str="no zuo no die"; 2 var words=str.split(" "); 3 for(var i=0;i<words.length;i++){ 4 words[i]=words[i][0].toUpperCase()+words[i].substring(1); 5 }; 6 str=words.join(" "); 7 document.write(str)
unicode范围:
48-57:0-9数字字符
65-90:A-Z大写字母
97-122:a-z小写字母
19968-40869:汉子
案例:查找字符个数
1 str="选购AppleCare+,延保2年"; 2 var negCount=0; 3 var numCount=0; 4 var chsCount=0; 5 var other=0; 6 for (var i=0;i<str.length;i++){ 7 var num=str.charCodeAt(i); 8 if(num>=19968&&num<=40869){ 9 chsCount++; 10 }else if((num>=65&&num<=90)||(num>=97&&num<=122)){ 11 negCount++; 12 }else if(num>=48&&num<=57){ 13 numCount++ 14 }else{ 15 other++; 16 } 17 } 18 document.write("<br>"+"汉字:"+chsCount+ 19 "<br>"+"字母:"+negCount+ 20 "<br>"+"数字:"+numCount+ 21 "<br>"+"其他字符:"+other);
模式匹配:可以设置查找或替换的规则!
何时使用模式匹配:要查找的关键字可能发生有规律的变化
如何使用模式匹配:1.先定义模式:/关键字/模式 例如:var reg=/no/i i:忽略大小写 g:表示全局查找和替换
String类型中,提供了专门支持模式匹配的API
按照模式替换关键字:str=str.replace(reg,"新值"); reg是定义的规则。reg=/no/ig 默认替换第一个,可以使用g进行全局替换!
案例:查找替换部分字母,不区分大小写
1 var str="No zuo no die"; 2 var reg=/no/ig; 3 str=str.replace(reg,"~~"); 4 console.log(str);
获得所有关键字的内容:var kwords=str.match(reg);只能获得关键字的内容,无法获取关键字的内容。返回的是数组。
kwords.length:找到的关键字个数,如果未找到,返回null;今后只要有可能返回null,就都要先判断不等于null再处理,否则会报错找不到对象!
案例:查找no关键字内容,替换部分字母,不区分大小写
1 var str="No zuo no die"; 2 var reg=/no/ig; 3 var kwords=str.match(reg); 4 console.log(kwords); 5 str=str.replace(reg,"~~"); 6 console.log(str+"<br>"); 7 if(kwords!==null){ 8 document.write("共替换了"+kwords.length+"处"); 9 }
转载于:https://www.cnblogs.com/Angche/p/7491807.html
JavaScript核心语法学习部分(七)相关推荐
- JavaScript - 核心语法学习
1.应用场景 了解学习JavaScript语言的最核心的东西,帮助我们重新理解前端本质, 快速高效开发前端项目. 2.学习/操作 1. 文档阅读 标准库 - JavaScript 教程 - 网道 2. ...
- JavaScript核心语法学习部分(四)
①switch-case语句 switch...case... 多条分支,根据条件判断,选择执行. 语法: switch(表达式){ case 表达式1://如果表达式的值===表达式1的值就执行 ...
- javascript基本语法学习(二)
一.JavaScript函数 1.1.函数的基本概念 在JS里面,可能会定义非常多的相同代码或者功能相似的代码,这些代码可能需要大量重复使用. 虽然for循环语句也能实现一些简单的重复操作,但是比较具 ...
- JavaScript核心语法总结
1. 变量: ①先声明变量再赋值: var width; //var-用于声明变量的关键字 width = 5; //width-变量名 ②同时声明和赋值变量: var catName= " ...
- JavaScript交互式网页设计 • 【第1章 JavaScript 基本语法】
全部章节 >>>> 本章目录 1.1 JavaScript 概述 1.1.1 JavaScript 简介 1.1.2 JavaScript 的概念和执行原理 1.1.3 J ...
- JavaScript学习总结(七)——JavaScript函数(function)
转载自 JavaScript学习总结(七)--JavaScript函数(function) 一.函数基本概念 为完成某一功能的程序指令(语句)的集合,称为函数. 二.JavaScript函数的分类 ...
- JavaScript学习(七十二)—严格模式
JavaScript学习(七十二)-严格模式 JavaScript除了提供正常模式外,还提供了严格模式,ES5的严格模式是采用具有限制性JavaScript变体的一种方式,即在严格条件下运行JS代码, ...
- 学习Python全套代码【超详细】Python入门、核心语法、数据结构、Python进阶【致那个想学好Python的你】
大家早上好,本人姓吴,如果觉得文章写得还行的话也可以叫我吴老师.欢迎大家跟我一起走进数据分析的世界,一起学习! 感兴趣的朋友可以关注我的数据分析专栏,里面有许多优质的文章跟大家分享哦. 文末附上详细的 ...
- javascript核心_只需几分钟即可学习这些核心JavaScript概念
javascript核心 Sometimes, you just want to learn something quickly. And reading through comprehensive ...
最新文章
- 8080CPU寄存器划分
- 从入门到精(fang)通(qi)第5期 我们的征途是星辰大海
- NuGet学习笔记(1)——初识NuGet及快速安装使用
- Linux 环境下 jdk1.8 maven3.2.3 Git2.8.0 安装脚本
- Citrix XenApp6.5的安装
- java集合类(简介)
- ldap java 对象 存储_java - 修改UID在LDAP存储库 - SO中文参考 - www.soinside.com
- SQL Server数据库查询速度慢的原因
- 如何自动加载scratch3.0的页面上实现自动加载原有的作品
- 03.整体管理+变更管理
- php spider 开发文档,爬虫进阶开发——之技巧篇 - 开发PHPSpider爬虫的常用工具 - 《phpspider开发文档》 - 书栈网 · BookStack...
- Windows下的conda换源和pip换源
- WIN10专业版无法隐藏任务栏图标
- DELL 笔记本 - Windows 10 恢复 / 重置此电脑
- 《改进SIR 模型在社交网络信息传播中的应用》仿真实现
- 机器学习教程 之 半监督学习 Co-training 协同训练 (论文、算法、数据集、代码)
- Java11引用org.w3c.dom 时报错The package org.w3c.dom is accessible from more than one module: , java.xml
- C语言实现字母的大写转换成小写
- AD20和立创EDA设计(4)PCB设计
- 生成哑变量的几种方法
热门文章
- Tcl Tutorial 笔记 ·ubuntu命令行运行tcl 命令
- 小程序二维码需要发布正式版后才能获取到_IOS14.3正式版发布时间12月15日:苹果ios14.3正式版内容一览[多图]-游戏产业...
- 开放 接口 饿了么_饿了么口碑启动生态赋能计划 将在210城开放智慧餐厅业务合作窗口...
- Java 去除重复数据的五种方式
- pythonexcel模块哪个好_Python-Excel 模块哪家强?
- html不同类别的列表设置,HTML --列表
- java单例模式深入详解_javascript 模块依赖管理的本质深入详解
- python子类_python创建子类的方法分析
- centen os7安装maven
- oracle xp 安装包资源