字符串的概念和定义
字符串就是一串字符,由双(单)引号括起来。
字符串是 JavaScript的一种基本的数据类型。
1、var str=‘亲’; //基本类型
定义一个字符串变量str,内容为‘亲
2、var str = new String(“hello”); //引用类型
定义一个字符串变量str,内容为hello,
注意此刻str为object(对象)类型
用new产生的变量都是引用类型的变量,也叫对象。
3、var str = String(‘hello’);
对象只是一种特殊的数据类型。对象拥有属性和方法。
基本类型: Undefined / Boolean / Number
引用类型:Object / Array / Function / Date / String …….
字符串的概念和定义
var s1 = new String(‘hello world’);
var s2 = String(‘hello world’);
alert(typeof s1);
alert(typeof s2);
当String()和元素符new一起作为构造函数使用时,它返
回一个新创建的String对象,存放的是字符串s1的字符串表
示。
当不用new运算符调用String()是,它只把s2转换成原
始的字符串,并返回转换后的值。
字符串
字符串的属性
字符串的属性
length:表示字符串的长度;
如 : var str=“how are you”;
alert(str.length);
alert(str[0]); //获取字符串中对应下标的字符
ECMAScript 中的字符串是不可变的;
也就是说,字符串一旦创建,它们的值就不能改变。
var str = “亲,包邮哦”;
str[0] = “唉”; //不会改变
要改变某个变量保存的字符串,首先要销毁原来的字符串,然后再用
另一个包含新值的字符串填充该变量,
var str1 = “Hello”;
str1 = str1+” world!”;
字符串的方法
big() 用大号字体显示字符串
bold() 使用粗体显示字符串
fixed() 以打字机文本显示字符串
strike() 使用删除线来显示字符串
fontcolor(“#00f”) 使用指定颜色来显示字符串
fontsize(22) 使用指定尺寸来显示字符串
link() 将字符串显示为链接
sub() 把字符串显示为下标
sup() 把字符串显示为上标
字符串
字符串的方法
字符串的函数(方法)--字符的获取方法
str.charAt(3) //获取下标为3的字符
str.charCodeAt(3) //获取下标为3的字符的编码(ASCII码)
String.fromCharCode(94) //ASCII编码转换成字符
该方法是 String 的静态方法,所以用String调用,
如:var str = String.fromCharCode(98,99); 可传入多个参数
ASCII(American Standard Code for Information Interchange,
美国标准信息交换代码)
字符串
字符串的方法
nstr.concat() 连接字符串
var str1 = "hello";
var str2 = str1.concat(" world");
字符串的查找方法
n str.indexOf("abc") 查找字符串第一次出现的位置
var str = "abcdabcd";
var subStr = "bcd";
var index = str.indexOf(subStr);
n str.lastIndexOf("abc") 查找字符串最后一次出现的位置, 如果没
找到 返回-1
var index = str.lastIndexOf(“abc”);
字符串
字符串的方法
n str.search()正则匹配 (返回第一次出现的位置)
var str = "Abcdabcd";
var index = str.search(/abc/gi);
注: g表示进行全局匹配,i表示匹配的时候忽略大小写
n str.replace()替换字符串
var str = "how are Are are you!";
var newStr = str.replace("are", "old are");
这里的替换只能执行一次,不能够进行全局匹配,如果需要全局匹配
,则应使用正则表达式: str.replace(/are/gi, "old are")
字符串
1、将下面的字符串str的敏感字符*用空字符串””替换; (要
正确表示*得转义成:\*)
2、将str的空格用空字符串””替换;
var str = "H e l ** l o Wo r
L d !";
3、随机产生一个四位数的验证码(纯数字(0-9)生成一个
字符串) Math.random()
字符串
字符串的常用函数(重要)
substring(start,end); //截取字符串范围是[start, end)
var str = “Hello world!”;
alert (str.substring(2,5));
注: 如果只有一个参数, 则表示到字符串最后
split(separator, howmany)—根据分隔符、拆分成数组
separator(字符串或正则表达式)
howmany(可以指定返回的数组的最大长度, 可以省略)
【注】如果空字符串(“”)用作separator,那么stringObject中的每个字
符之间都会被分割。
toLowerCase() 方法用于把字符串转换成小写
toUpperCase() 方法用于把字符串转换成大写
字符串
示例
1. 去掉字符串123@zh@qq.com中的@;
2. 任意给定的一串字符,统计字符串里面的大写字母和
小写字母的个数
3. https://www.baidu.com/s?name=avery&age=20&sex=
male, 取出name, age和sex的值
练习
1. 已知有两个字符串str1 = ‘hello’ , str2 = ‘world’,将两个
字符串组成一个;
2. 已知字符串str = “I love BeiJing”,找出love的范围
3. 已知字符串str = “I hate BeiJing!”,提取第3个字符到第5
个字符
4. 将字符串str = “When I was young, I love a girl in
neighbor class.”中,从young提取到girl。但是不许数
Math
Math对象
pMath对象
nMath对象用于执行数学任务
pMath对象的常用函数
nMath.round(3.6) //四舍五入
nMath.random() //返回0-1之间的随机数
nMath.max(num1, num2) //返回较大的数
nMath.min(num1, num2) //返回较小的数
nMath.abs(num) //绝对值
nMath.ceil(19.3) //向上取整
nMath.floor(11.8) //向下取整
nMath.pow(x,y) //x的y次方
nMath.sqrt(num) //开平方
Math
练习
1, 获取65-90中的随机数, 并将该数当成ASCII
码,转换成字母
Math
综合练习
练习:
给定一个字符串(包含数字,大写字母和小写字母)例如:
“abaasdFFggs3545jjkkGfDDsssss3444343”;问题如下:
1、字符串的长度;
2、取出指定下标位置的字符:0,3,5,9;
3、查找指定字符是否在以上字符串中存在:c;
4、替换指定的字符: 将g替换为22,ss替换为b;
5、截取指定开始下标位置到结束位置的字符串: 取得3--8(包含8)
的字符串;
6、遍历字符串,并将遍历出的字母两头添加符号“@”输出至当前
的文档页面, 数字按原样显示,每行5个;
字符串
作 业
必做:
1. 注册页面的简单数据校验
1. 用户名不可以用数字开头
2. 用户名长度不低于6,不高于20
3. 密码不能为空
4. 输入框中要有默认提示
5. 所有输入框不能为空,并数据合法,点击提交才可以正确提交
表单数据
2. 字母数字组合验证码(四位)
Ø onblur : 失去焦点事件
Ø placeholder : 提示文本(占位文本)
作业2
1. 找出出现最多的字母,找出字符串中出现次数最多的字母,将该
字母串中出现次数最多的字母,将该字母和字母出现的次数拼接成一个
新字符串,返回新字符串
传入:” WelcomeToQianfeng”;
返回:”e3”; (要求编写成函数)
2. 将字符中单词用空格隔开
已知传入的字符串中只有字母,每个单词的首字母大写,请将每个
单词用空格隔开,只保留一个单词的首字母大写
传入:”HelloMyWorld”
返回:”Hello my world”
3. 已知一个字符串对象中,英语单词用各种非字母字符分割,统计
单词的个数
传入: “Yes,she**is%%my@love.”
作业3
1. 将字符串按照单词进行逆序,空格作为划分单词的唯一条件
传入:”Welome to Beijing”改为 “Beijing to Welcome”
2. 对称数组
传入一个数组,起元素类型与个数皆未知,返回新数组,由原数组
的元素正序反序拼接而成
传入[“One”, “Two”,”Three”]返回[“One”, “Two”, “Three”,”Three”,”Two”, “One”]
3. 实现函数,查找子串出现的次数,返回字符串str中出现substring的次数
传入:”abcabcabc”, “abc”; 返回:3
4. 已知千锋邮箱的用户名只能由数字字母下划线组成,域名为@1000phone.com
,判断一个字符串是否是千锋邮箱,是返回true,不是返回false。
mail@1000phone.com 是
$mail@1000phone.com 不是
mail@1000phone.comp 不是