に動作しないパラメータRETURN_VALUE [1]次のコードは、Firefox、ChromeでTEXTAREAタグを除去するので、コンテンツはARRにアクセスすることができるJavascriptの正規表現は、IE
<textarea>{"id":43,"description":"","item_id":28,"callback":"addNewAttachment","filename":"foo.jpg",,"type":"posts","ext":"jpg","size":145}</textarea>
を含有します。 IEアラート(「失敗」)が呼び出されます。
function addAttachment(returned_value) {
var re = new RegExp ("<textarea>(.+)</textarea>");
var arr = re.exec(returned_value);
if(arr != null && arr.length > 1) {
var json = eval('(' + arr[1] +')');
} else {
alert("Failure");
}
window[json.callback](json);
}
returned_valueは、AJAX呼び出しから来ています。私はJQueryを使用します。
TEST
これはどちらか動作しません:
var re = new RegExp (/<textarea>(.+)<\/textarea>/);
SOLUTION
問題はIEは、Firefoxはそれが小文字になっていた一方、大文字のテキストエリアの文字列を得ていたということでした。
次の正規表現は、それを解決します。
var re = new RegExp ('<textarea>(.+)</textarea)>','i');
uはしてみてくださいでした 'するvar再=新しい正規表現(/ /。);' – palindrom
* Variable \ * return_value \ *には*が含まれていますが、コードには 're.exec(returned_value);'があります。これは、質問テキストまたはコードの入力ミスですか? – Helen
@palindrom:あなたはそれがすでにRegExpオブジェクトです/.../使用している場合、あなたはまた、言及された他のと大文字小文字を区別しないフラグを使用することができ、それを読みやすくするために...それから – Guffa