美文网首页
JavaScript 输入电话号码,前几位变成*(字符串里的re

JavaScript 输入电话号码,前几位变成*(字符串里的re

作者: 江边有颗桃 | 来源:发表于2019-04-04 18:49 被阅读0次

我需要注意什么?

1.因为字符串的replace替换每次只能替换一个,所以如果要对内容中的部分内容进行替换,要用到循环遍历。
例如此题因为只需要对前七位进行替换,所以是i<7(也就是说0-6位),循环七次就够了,如果是对不确定的分散的内容进行替换呢?i<input.length
2.input=input.replace(input[i]," * ") 注意这里是把转换星号后的字符串赋值给原来的字符串,这样就能保证前面的字符串是被修改过的而不是又回到当初!!!不能声明一个新的变量!
3.同时注意上面的input[i]是不需要带引号的,所有被参数化函数花的值都不需要引号。
4.注意一下如果用户输入的内容不符合条件时的情况(方法二)
5.注意字符串转化为数组,数组再转换成字符串的方法(方法三),同时注意使用splice后,不需要定义新的变量,打印原变量已经就是被替换后的数组

方法一:使用遍历循环加replace

image.png

方法二:注意到用户没有输入指定条件的情况:同时截取前七位后直接用“*******” 进行替换

注意啦!用户输入的内容不正确时,持续的弹出了“请输入手机号码”,这里使用了while,输入正确时则终止了循环break

<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script>
while(input!==null){
var input=prompt("请输入手机号码");
if(isNaN(input)||input.length!=11){
alert("手机号必须是11位纯数字");
}else{
break;
}
}
var m=input.replace(input.slice(0,7),"*******");
document.write(m);
</script>
</body>
</html>

方法三:先把字符串转换为数组(spiit),用数组的剪切后(splice)再换换成字符串(join)

while(iphoneid!==null){
            var iphoneid=prompt("请输入手机号码");
            if(isNaN(iphoneid)||iphoneid.length!=11){
                alert("手机号必须是11位纯数字");
            }else{
                break;
            }
        }
        var m=iphoneid.split("");
            m.splice(0,7,"*******");
        var s=m.join("");
        document.write(s);

相关文章

网友评论

      本文标题:JavaScript 输入电话号码,前几位变成*(字符串里的re

      本文链接:https://www.haomeiwen.com/subject/lziepqtx.html