参数工作RETURN_VALUE包含的Javascript正则表达式中不IE
<textarea>{"id":43,"description":"","item_id":28,"callback":"addNewAttachment","filename":"foo.jpg",,"type":"posts","ext":"jpg","size":145}</textarea>
下一个代码移除textarea的在Firefox,铬标签,所以含量可以在改编被访问[1]。在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是越来越它小写大写textarea的字符串。
下一个正则表达式解决了这个问题。
var re = new RegExp ('<textarea>(.+)</textarea)>','i');
没有ü尝试 '变种重新=新的正则表达式(/ /);' – palindrom 2009-08-06 08:30:46
你说* Variable * * return_value * *包含*,但在代码中有're.exec(returned_value);'。这是问题文本或代码中的拼写错误吗? – Helen 2009-08-06 08:33:26
@palindrom:如果你使用/.../它已经是RegExp对象,你不应该从它创建一个新的RegExp对象... – Guffa 2009-08-06 08:36:03