gpt4 book ai didi

javascript - 尝试编写一个如果参数为空格则返回 true 的函数

转载 作者:行者123 更新时间:2023-11-28 17:59:06 24 4
gpt4 key购买 nike

我不太确定 /\s/ 是如何工作的。如果函数参数是空格(空格、制表符或回车),我只需要返回 true,否则返回 false。

var ch = /\s/
var lett = A

function isWhiteSpace(lett) {
if (lett.test(ch)) {
return true
} else {
return false
}
}

最佳答案

首先,了解您的错误

From your code:

var ch = /\s/         // you defining a Regex Object containing an expression 
var lett = "A" // there is the character or string to test

... further ...

if (lett.test(ch)) { // here you'll get an error cause of inversed order of operands

javascript 函数“test”是 Regex 内置对象的一部分,并且需要一个“regex”类型的对象

> 语法

*regexObj.test(str)* or litterally myRegex.test(myString)

有关更多信息,请阅读文档: Using Regex in javascript

由于 /\s/ 是一个正则表达式对象,因此您应该编写:

ch.test(lett);

// or shortly

/\s/.test(lett);
<小时/>

其次,你的期望

// let's create a set (or dictionnary) of each characters you 
// want to match like you have enumerated (space, tab or return)
// \s space
// \t tab
// \n return
// ^ if parameter begin by
// $ if parameter finish by
// you can understand that any desired char between ^ and $
// will verify you have only one char into the tested variable

var charsToMatch = /^[\s\t\n]$/

function isBlank(param)
{
if(charsToMatch.test(param))
return true;
else
return false;
}

// --> or more shortly

// you dont need to use if/else instructions because .test()
// is already returning the statement you want
function isBlank(param) { return charsToMatch.test(param); }

测试

console.log(isBlank("\n"))   // return true
console.log(isBlank("\n\n")) // return false, because too many chars
console.log(isBlank("\t")) // return true
console.log(isBlank("A")) // return false
console.log(isBlank(" ")) // return true
console.log(isBlank("")) // return false, because just empty

另一种语法

var charsToMatch = /^[\s\t\n]$/

也可以这样写:

var charsToMatch = new RegExp("^[\s\t\n]$")

关于javascript - 尝试编写一个如果参数为空格则返回 true 的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43903150/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com