根据textArea.value在控制台打印有效或无效的输入

问题描述 投票:0回答:1

我正在尝试在 JavaScript 中构建一个函数,如果文本框中的所有字符都不是字母(大写、小写),则该函数在控制台中打印“有效输入”。但是,如果文本框中的任何字符是字母,那么它会打印“有效输入”。我使用按钮来调用此功能。

测试用例以加深理解: “Lorem ipsum dolor sat amet”(有效) “54646475”(无效) “#$#$”(无效) “Lorem ipsum 655746 dolor sat amet”(有效) “Lorem ipsum dolor sat #$%^ amet”(有效) “Lorem ipsum 7746 dolor %$^& sat amet”(有效)

我对这个问题的逻辑构建感到困惑。

首先我使用正则表达式,但不明白如何在这个问题中实现它。还是卡住了。

function capCaseHandle() {
        const allCharRegExp = /[\w]+/;
        let text = document.getElementById("textArea");
        if (allCharRegExp.test(text)) {
                        console.log("Valid Text");
        }
        else {
            console.log("Invalid Text");
        }
    }

我测试了这个功能,但该功能本身无效。

javascript
1个回答
0
投票

我看到的最大问题是您正在针对 DOM 节点测试正则表达式,而不是针对该节点内的文本。您可以使用

.value
访问节点/元素的值。

function capCaseHandle() {
    const allCharRegExp = /\w+/;
    let textElement = document.getElementById("textArea");
    let text = textElement.value;
    
    if (allCharRegExp.test(text)) {
        console.log("Valid Text");
    } else {
        console.log("Invalid Text");
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.