GIV*_*KEN 4 javascript regex jquery
我有以下代码 - 它只是抓取文本框中的值,对字符串执行正则表达式,然后计算字符串值中的星号数:
var textBoxValue = $(textbox).val();
function countHowManyWildCards(stringToSearch) {
var regex = new RegExp(/\*/g);
var count = stringToSearch.toString().match(regex).length;
return count;
}
if (countHowManyWildCards(textBoxValue) > 1) {
//Other code
}
Run Code Online (Sandbox Code Playgroud)
代码似乎有效,但出现错误:
stringToSearch.toString().match(regex).length;
Run Code Online (Sandbox Code Playgroud)
错误说明:
无法获取未定义或空引用的属性"长度"
但我不清楚为什么代码工作,但我仍然有这个错误?有人可以告诉我为什么会这样吗?
由于match失败并且没有返回任何数组,因此调用.length它将抛出该错误.
要解决此问题,您可以使用:
var count = (stringToSearch.match(regex) || []).length;
Run Code Online (Sandbox Code Playgroud)
在match失败时照顾案件.|| []当匹配失败时会返回一个空数组并且[].length会得到你0.
| 归档时间: |
|
| 查看次数: |
14204 次 |
| 最近记录: |