我有一个JS regexp.
var t1 = str.match(/[h1]/g).length;
如果str
包含单词[h1]
,则工作正常,否则显示错误!
如何解决这个问题?
var t1 = (str.match(/[h1]/g)||[]).length;
你分两步来做,在你得到长度之前先测试它。
var t1 = 0;
var string = str.match(/[h1]/g);
if (string){
t1 = string.length;
}
这就是它应该工作的方式。你还没有发现问题所在。
如果你想根据str
是否包含"[h1]"做一些事情,试试这个:
var t1;
var strmatch = str.match((/[h1]/g);
if (strmatch !== null) {
t1 = strmatch.length;
}