我正在尝试在 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");
}
}
我测试了这个功能,但该功能本身无效。
我看到的最大问题是您正在针对 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");
}
}