JavaScript 错误 : "val.match is not a function"

标签 javascript match

我正在使用带有正则表达式的 match 函数。

我使用的代码是:

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

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

"val.match is not function"

问题是什么?

最佳答案

我会说 val 不是字符串。

我明白了

val.match is not function

以下错误

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);
}

关于JavaScript 错误 : "val.match is not a function",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4882691/

相关文章:

javascript - webpack2 CommonsChunkPlugin 带有 list 文件,如果 minChunks 是一个函数,则仅生成 "names[]"数组中的最后一个文件

javascript - HTML - 为属性动态创建的输入标签

asp.net - window.location 更改失败 AJAX 调用

用于将不同值与 $(美元符号)作为字符串的一部分进行匹配的 Javascript RegExp

r - 按元素比较两列

Javascript RegEx恰好一个数字模式

javascript - 如何使用 d3.drag 处理散点图中的比例

javascript - 使用innerHTML += 是否可取?

python - 正则表达式在python中查找部分匹配的特殊字符

c# - 为什么超出范围的索引不会为 Regex GroupCollection 抛出异常?