JS学习的第二天。。继续遇到问题。。。原因可能是被网上的博客误导了。。。

博客原文让我觉得prompt()输入框点击取消时返回的是文本型的null,结果通过typeof()函数了解到点击取消时返回的是特殊类型的null。

prompt()的用法:

prompt("输入提示内容","输入框默认内容(选填)");

1、当点击确认时返回输入框内的内容,为字符串。即使输入框内没有输入内容也会返回""。

2、当点击取消时返回特殊类型的null。

判断输入了null还是点击取消按钮

被误导的想法:

var name = prompt("请输入name");
            if(name == "null"){
                alert("取消按钮,或输入了null");//暂时不会解决将两种可能分开判断的问题
            }else if(name == ""){
                alert("输入为空");
            }else{
                alert("name="+name);
            }

正确判断方法:

var name = prompt("enter something","abc");
            if (name == null){
                alert("取消按钮");
            }else if(name == "null"){
                alert("输入了null");
            }else if(name == ""){
                alert("输入为空");
            }else{
                alert("name="+name);
            }

网上使用的正则表达式也是个不错的方法,不过我不会。。

            var ret = prompt("enter something","abc");
            if (ret == null)
            {
              alert("cancelled");
            }
            else if (ret.replace(/^\s+|\s+$/g,"") == "")
             alert("empty");
            else
             alert(ret);
Last modification:August 26, 2021
如果觉得我的文章对你有用,请随意赞赏