gpt4 book ai didi

javascript - 返回字母数字 - 组合函数片段的问题

转载 作者:太空宇宙 更新时间:2023-11-04 16:09:36 25 4
gpt4 key购买 nike

之前提交了相关内容,此时所有部分都是单独工作的,但不能一起工作。我尝试过移动一些东西,看看这是否只是一个订单问题,但这并没有解决问题。试图将它们放在一个大的 if/else 中似乎也不起作用。我可以让字符串仅显示字母数字字符或显示“不是字符串”,但我无法让代码同时执行这两项操作。此部分将仅返回正确的字母数字:

function nothingSpecial(str) {
var re = /[A-Z\s0-9]/i;
var newStr = '';

for(var i=0; i<str.length; i++){
if (re.test(str[i])){
newStr = newStr + str[i];
}
}
return newStr;
if(str.length <= 0) {
return ("Not a string!");
}

if (typeof str !== String) {
return "Not a string!"}

}

nothingSpecial("asdfalsd@#$#")

这将返回“不是字符串!”,即使它应该显示字母数字,但对于数字和“”来说是正确的或看起来如此

function nothingSpecial(str) {

var re = /[A-Z\s0-9]/i;
var newStr = '';

if(str.length <= 0) {
return ("Not a string!");
}

if (typeof str !== String) {
return "Not a string!"}

for(var i=0; i<str.length; i++){
if (re.test(str[i])){
newStr = newStr + str[i];
}
}
return newStr;

}
nothingSpecial(23)

我做错了什么? -先感谢您!

最佳答案

编辑:好的,根据您的评论,开始吧:

这是你的问题:

if (typeof str !== String)

您正在将 typeof str(一个字符串)的结果与 object constructor 进行比较对于字符串,String,它是一个函数。它失败是因为您实际上并没有检查字符串,而是将字符串(typeof 的输出,无论您要检查的类型如何,它始终是字符串)与函数进行比较。您的比较应该如下所示:

if (typeof str !== 'string')

编辑:继承人 JSFiddle .

关于javascript - 返回字母数字 - 组合函数片段的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41610749/

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