解释Isogram javascript函数中的空字符串

解释Isogram javascript函数中的空字符串,javascript,Javascript,如何使下面的正则表达式成为空字符串的帐户 e、 g isIsogram(“”) 空字符串应返回false 函数isIsogram(str){ 返回!/(\w)。*\1/i.test(str); }只需在测试正则表达式之前检查长度,如果没有长度,则返回false return str.length ? !/(\w).*\1/i.test(str) : false 这相当于 if(str.length){ return !/(\w).*\1/i.test(str) }else{ re

如何使下面的正则表达式成为空字符串的帐户

e、 g isIsogram(“”)

空字符串应返回false

函数isIsogram(str){
返回!/(\w)。*\1/i.test(str);

}
只需在测试正则表达式之前检查长度,如果没有长度,则返回false

return str.length ? !/(\w).*\1/i.test(str) : false
这相当于

if(str.length){
   return !/(\w).*\1/i.test(str)
}else{
   return false
}

修剪字符串以删除任何尾随空格,并检查它是否为falsy值(空字符串视为false)

检查

函数isIsogram(str){ 返回str.trim()&&!/(\w)。*\1/i.test(str);//非空字符串且与正则表达式不匹配 } 函数检查(){ document.getElementById(“结果”).textContent=isIsogram(document.querySelector(“输入”).value)?“字符串是一个等值线图。”:“字符串不是一个等值线图。”; }


谢谢@hev1。解决方案在我的控制台上按预期工作,但我在提交时出错。这个解决方案应该通过四次测试,但目前只有三次通过。我喜欢你的解决方案,但我还没有通过评估。我仍然在提交时出错。length属性被视为解决方案上的错误,但不确定这到底意味着什么。函数是否返回预期的布尔值?您的问题听起来与此函数无关,或者正则表达式没有达到预期效果。这里是使用建议的解决方案更新的代码
函数isIsogram(str){if(!str.trim())return false;return!/(\w)。*\1/i.test(str)}
if(!str.trim()){
 //empty String or String with only spaces
}