未捕获的SyntaxError:意外的令牌;
我得到Uncaught SyntaxError: Unexpected token ;
THE LINE NUMBER
// HTML Helper var documentHtml = function(html){ // Prepare var result = String(html) .replace(/]*>/i, '') .replace(/])/gi,'<div class="document-$1"$2') .replace(//gi,'
问题是:
/(html|head|body|title|meta|script)>/gi
在撰写本文时,SO的突出显示原始问题:正则表达式似乎是/
。
它应该是:
/<\/(html|head|body|title|meta|script)>/gi
由于Javascript使用正斜杠来分隔正则表达式,因此必须使用反斜杠转义其中的任何正斜杠。
使用正斜率的正则表达式的IMO是JavaScript最不幸的语法决定:
-
由于/
启动多行注释,单行注释,除法和正则表达式,解析JavaScript很困难。 (Sublime,我的编辑选择,错了.Dreamweaver弄错了。)
-
它使URI / URL的正则表达式特别难看。
尝试改变:
.replace(/(html|head|body|title|meta|script)>/gi,'')
至:
.replace(/<\/(html|head|body|title|meta|script)>/gi,'<\/div>')
你需要在Javascript中转义/
使用\