1.字符串的大小写转换
字符串将小写字母转化为大写字母使用:toUpperCase
字符串将大写字母转化为小写字母使用:toLowerCase
ASEDECFSXV 转化小写 asedecfsxv
<script>
let str = 'ASEDECFSXV';
// /* 把字符串转换为小写 */
/* toLowerCase方法会返回一个小写的字符串 */
let nstr = str.toLowerCase();
document.write(nstr);
</script>
svdsfv 转化为大写 SVDSFV
<script>
let str = 'svdsfv';
/* 把字符串转换为大写 */
/* toUpperCase方法会返回一个大写的字符串 */
let nstr = str.toUpperCase();
document.write(nstr);
</script>
2.trim()方法
trim()方法可以去除字符左右两遍的空格但是无法去除串在字符串之间的空格
<script>
let a = ' abc ' //abc左右都有空格
// let a = ' a b c ' //这样的空白输出就是a b c,左右空白去掉中间不可以
let b =a.trim(); //trim去除左右空白
document.write(b); //输出abc但是不会有空格
</script>
小练习:
<script>
/* 字符串有 trim()方法 可以去除 字符左右两边的空格
不能去除字符里面的空格 ' '会把空格都去掉 */
/* 给出错误提示 获得错误 在if判断的时候 要为true */
let a = prompt('请输入正确的邮箱地址', 'susan@sohu.com');
/* 第一种校验不能为空的方式 包括如输入空格 */
// if(a.trim()==''){
// alert('输入不能为空')
// }
/* 第二种校验不能为空的方式 包括如输入空格*/
if(!a.trim().length){
alert('输入不能为空')
}else if(a.indexOf('@')==-1||!a.includes('.')){
alert('必须包含@和.')
}else{
document.write( a.split('@',1));
}
/* split的第二个参数表示 显示数组有几项 写1 就数组就出现一项
写2 就出现两项 依此类推 */
</script>
3.JS字符串截取和模版字符串
字符串截取:比如说输入一串文字,在页面显示的只有第一个字符串,其他的用其他符号表示
<button onclick="fn()">输入名字</button>
<script>
function fn() {
let str = prompt('输入名字:');
// 给一个空字符串
let a = ''
// 将输入的字符串第一个字赋给a
a = a + str[0]
// a=str[0]
// 第一种方式
// 因为第一个字符已经有样式了,所以从第二个字符串开始
/* for(var i = 1;i<str.length;i++){
// 获取输入的字符串除了第一个以外的字符用*代替,for循环判断需要添加几个,如果输入三个字符,减去第一遍(i初始值是1)循环两次就会有两遍*
a=a+'*'
} */
// 第二种方式
for (var i = 0; i < str.length - 1; i++) {
a += '*'
}
document.write(a);
}
</script>
<script>
let str = prompt('输入名字:');
let a = ''
// 第三种方法
for (var i in str) {
// 输入字符串取第一个就执行下面语句
if (i == 0) {
a += str[i]
}else{
a+='*'
}
}
document.write(a);
</script>
4.substring、slice、substr
substring:当后面取一个数值时,就表示取该下标所在位置至最后的字符串
substring:当后面两个数值时表示取第一个下标到第二个下标之间的字符串,但是不包含第二个下标的字符串
注意:slice和subString用法一样,但是subString不操作负数,slice可以。
slice可以取负数,当取一个负数时,取负数的意思是输出倒数几个字符串至倒数最后一个都输出;
<script>
let a = 'hesuan'
// slice可以取负数(取负数的意思是去倒数几个字符串);
// let b = a.slice(-3);
// document.write(b);
// slice和subString用法一样
// let b = a.slice(1,3);
// document.write(b);
// 取倒数第三个到倒数第一个,两个数值的顺序是从前往后排写。
// let c = a.slice(-3,-1)
// document.write(c);
// 取倒数第三个到下标为5之间的字符串
let d = a.slice(-3,5)
document.write(d);
</script>
substr的意思是从第一个数值的下标的开始数算第一个,总共取多少个字符串用第二个数值填写
<script>
let a = 'jiance'
//substr的意思是从第一个数值的下标的开始数算第一个,总共取多少个字符串用第二个数值填写
let b = a.substr(1,3);
document.write(b);
</script>
总结:subString和slice都取中间字符串时不包括第二个下标的字符串,substr全包括
5.课外小知识:
第一:字符串可以像数组一样使用下标的方式获取具体的字符.
第二:字符串可以使用split是转成数组,再用join转化为字符.
第三:看代码;split可以有两个参数,第一个参数是把字符以第一个参数分割数组。
第二个参数表示把数组分成了几个。
<script>
let a = 'hello world';
let b = a.split(' ',2);
document.write(b[0] + '<br>');
document.write(b[1]+ '<br>');
</script>
注意:如果出现以下这种以‘-’分割的数组而split第二个参数分成的数组数不够,那么d[3]返回undefined
<script>
let c = 'a-b-c-d-e-f';
let d = c.split('-',3)
document.write(d[0]+ '<br>');
document.write(d[1]+ '<br>');
document.write(d[2]+ '<br>');
document.write(d[3]);
</script>