2011-09-08 10 views
13

jslintがメッセージを報告していません。 '。'この問題を解決する方法jslintメッセージを修正する方法Insecure '。'

ラインで

html = /<body.*?>([\s\S]*)<\/body>/.exec(responseText); 

?体の後

更新

とブラケットを閉じる前にそのS \属性があるかもしれませんか?使用できません。 Javascriptはブラウザで実行されていますが、jQueryが使用されています。 この代わりにbody要素の内容を文字列から抽出する最も良い方法はどれですか?

答えて

16

本当にすべてが一致するようにしたい場合や、jslintエラーを望まない場合は、このようなことを試してみてください。

var everything = /.*?/;// not jslint acceptable 
var all = /[\w\W]*?/;// jslint acceptable 

基本的には、すべての単語の文字とすべての単語以外の文字が含まれています。

+0

ちょっと変わっただけで必要なものです。ありがとう。 – phatmann

+2

jslintは完全にはっきりしている正規表現のエラーをスローするのは魅力的ですが、実際に行っていることを難読化すると突然うまくいきます。 – timgeb

5

char(.)、または指定した文字([^x])以外の文字を許可すると、期待していなかった一致が得られる可能性があるため、JSLintのチェックがあります。 JSLintでそのチェックが有効になっている場合、一致するものを明示的に記述する正規表現を書く必要があります。

このチェックをオフにしたくない場合は、エラーがLINTでないようにするには、 'body'の 'y'と終了角かっこの間に何があるかをOKと見なしますあなたの正規表現をそのように書く。

+1

文字が1つしかないので、私は「\ s?」が彼が探しているものかもしれないと言っています。 –

+0

@Py:body要素に\ sという属性がある可能性がありますか?使用できません。私は質問を更新しました。 – Andrus

+0

@JAAulde:ありがとうございました。 bodyタグ内のコンテンツ全体を抽出したいjavascriptはブラウザで実行されていますが、jqueryが使用されています。私は質問を更新しました。 – Andrus

16

regexp: trueをjsLintオプションに追加できます。

関連する問題