这个代码不是很明白

来源:2-24 正则表达式的应用

球球不一般

2021-12-14 19:39:50

 var name = nameField.value;

            if (/^[\u4E00-\u9FA5]{2,4}$/.test(name)) {

                // 如果通过校验

                nameWarning.style.display = 'none';

            } else {

                // 如果没有通过校验

                nameWarning.style.display = 'inline';

            }

        };

搜索

复制

写回答

1回答

好帮手慕然然

2021-12-15

同学你好,建议参考如下理解:

首先,这句代码var name = nameField.value是用于获取nameField输入框中用户输入的内容,如图

https://img.mukewang.com/climg/61b94be509dbae4c14880410.jpg

其次,后面的if语句是为了判断输入框中输入的内容是否符合正则表达式,即/^[\u4E00-\u9FA5]{2,4}$/.test(name)表示判断name是否符合正则表达式/^[\u4E00-\u9FA5]{2,4}$/,也就是2-4位汉字。

如果满足条件的话,就会执行if中的语句,即 nameWarning.style.display = 'none',表示让nameWarning元素隐藏;

如果不满足条件的话,就会执行else中的语句,即 nameWarning.style.display = 'inline',表示让nameWarning元素显示出来,如图

https://img.mukewang.com/climg/61b94da8090a817c15230443.jpg

其中,DOM元素打点调用style属性是固定用法,用于动态修改DOM元素的style样式属性。然后再打点调用display 属性则表示动态修改元素的display属性,该属性在css中用于控制元素的显示状态,如果值为none,表示隐藏该元素,如果值为inline、inline-block、block表示显示该元素。建议同学可以再去复习一下css以及DOM的知识。

祝学习愉快!

0

0 学习 · 17877 问题

查看课程