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

新手上路,请多包涵

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

我正在使用的代码是:

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

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

 "val.match is not function"

问题是什么?

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

阅读 857
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 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题