JavaScript 错误:“val.match 不是函数”

新手上路,请多包涵

我将 match 函数与正则表达式一起使用。

我正在使用的代码是:

 if(val.match(/^s+$/) || val == "" )

但是,它会产生以下错误:

 "val.match is not function"

问题是什么?

原文由 zahir 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 860
1 个回答

我会说 val 不是字符串。

我得到

val.match 不是函数

以下错误

var val=12;
if(val.match(/^s+$/) || val == ""){
   document.write("success: " + val);
}

如果您显式转换为字符串 String(val),错误就会消失

var val=12;
if(String(val).match(/^s+$/) || val == ""){
   document.write("success: " + val);
}

如果您确实使用字符串,则不需要进行转换

var val="sss";
if(val.match(/^s+$/) || val == ""){
   document.write("success: " + val);
}

原文由 chrisp7575 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题