JavaScript 中 TypeError: regex match is not a function 错误
当对非字符串类型的值调用匹配方法时,会发生“TypeError: match is not a function”错误。
要解决该错误,需要确保仅对字符串调用 match
方法,例如 'ABC'.match(/[A-Z]/g)
。
下面是产生上述错误的一个示例
const str = {};
// ⛔️ TypeError: match is not a function
const result = str.match(/[A-Z]/g);
我们在对象上调用了 String.match
方法并返回了错误。
只对字符串调用 match() 方法
要解决该错误,请使用 console.log
打印调用 match
方法的值,并确保仅对字符串调用该方法。
const str = 'Fql Jiyik';
const result = str.match(/[A-Z]/g);
console.log(result); // 👉️ ['F', 'J']
如果该值不是字符串,我们可以使用 String()
构造函数对其进行转换。
const num = 1234;
// 👇️ use String() to convert to string first
const result = String(num).match(/[0-2]/g);
console.log(result); // 👉️ ['1', '2']
String()
构造函数将提供的值转换为字符串并返回结果。
在调用 match() 之前检查该值是否为字符串
或者,我们可以在调用 match()
方法之前检查该值是否为字符串。
const str = null;
const result = typeof str === 'string' ? str.match(/[0-2]/g) : null;
console.log(result); // 👉️ null
我们使用了一个三元运算符来检查 str 变量是否存储了一个字符串。
如果是,则返回逗号左边的值,否则返回右边的值。
我们也可以使用 if
语句来获得相同的结果。
const str = undefined;
let result = null;
if (typeof str === 'string') {
result = str.match(/[0-2]/g);
}
console.log(result); // 👉️ null
如果该值是一个字符串,我们返回对其调用
match
方法的结果,否则,我们返回一个空值。
如果错误仍然存在,请使用 console.log
打印正在调用 match
方法的值并使用 typeof
运算符检查其类型。
console.log(typeof 'jiyik.com'); // 👉️ string
console.log(typeof 12345); // 👉️ number
console.log(typeof []); // 👉️ object
如果该值是一个对象,则很有可能我们忘记访问需要调用 match()
方法的特定属性。
// ✅ with objects
const obj = {
example: '123456',
};
const result1 = obj.example.match(/[0-2]/g);
console.log(result1); // 👉️ [ '1', '2' ]
// --------------------------------------------
// ✅ with arrays
const arr = ['123456', '45', '74'];
const result2 = arr[0].match(/[0-2]/g);
console.log(result2); // 👉️ [ '1', '2' ]
在调用 String.match()
方法之前,我们访问了对象的属性和数组中的元素。
总结
当对非字符串类型的值调用 match
方法时,会发生“match is not a function”错误。
要解决该错误,请确保仅对字符串调用 match
方法,例如 'ABC'.match(/[A-Z]/g)
。
相关文章
使用 CSS 和 JavaScript 制作文本闪烁
发布时间:2023/04/28 浏览次数:146 分类:CSS
-
本文提供了使用 CSS、JavaScript 和 jQuery 使文本闪烁的详细说明。
在 PHP 变量中存储 Div Id 并将其传递给 JavaScript
发布时间:2023/03/29 浏览次数:69 分类:PHP
-
本文教导将 div id 存储在 PHP 变量中并将其传递给 JavaScript 代码。
在 JavaScript 中从字符串中获取第一个字符
发布时间:2023/03/24 浏览次数:93 分类:JavaScript
-
在本文中,我们将看到如何使用 JavaScript 中的内置方法获取字符串的第一个字符。
在 JavaScript 中获取字符串的最后一个字符
发布时间:2023/03/24 浏览次数:141 分类:JavaScript
-
本教程展示了在 javascript 中获取字符串最后一个字符的方法