正则表达式查找字符串中的字符串
问题描述:
我有串这样的:正则表达式查找字符串中的字符串
<input name="my_name" id="my_id" value="my_value" class="my_class" />
我想找个什么是“ID”中,即“添加my_id”。
在此先感谢
答
,如果这是你所需要的,不要加载一个完整的DOM操作库。
如果你有一个字符串,你可以把它变成一个DOM元素,并获得id
属性。
var my_string = '<input name="my_name" id="my_id" value="my_value" class="my_class" />';
var div = document.createElement('div');
div.innerHTML = my_string;
var id = div.firstChild.id;
或者只是使用正则表达式...
var my_string = '<input name="my_name" id="my_id" value="my_value" class="my_class" />';
var id = /id\s*=\s*"([^"]+)"/.exec(my_string);
if (id) id = id[1];
答
你可以用一个简单的jQuery函数做这样的
var currentId = $(".my_class").attr('id');
+0
我有一个字符串 –
答
如果你绝对必须使用解析HTML元素的正则表达式的属性,下面的JavaScript代码段应该做的伎俩。
var regex = /id="([^"]+)"/
var string = '<input name="my_name" id="my_id" value="my_value" class="my_class" />';
var matches = string.match(regex);
var id_val = matches && matches[1];
答
如果您只想使用字符串而不是DOM模型,然后使用。
function TextBetween (str,first,second) {
if (str==null) {
alert("Unexpected page formatting, please reload.");
return "";
}
var x = str.indexOf(first) + first.length;
var z = str.substr(x);
var y = z.indexOf(second);
return z.substr(z,y);
}
var inputString = '<input name="my_name" id="my_id" value="my_value" class="my_class" />';
var id = TextBetween(inputString,'id="','"');
否则其他人已经指出了解决方法。
'document.form_name.my_name.id'应该为你提供你想要的。 –
你正在编写程序来提取数据的语言是什么? – nhahtdh
它在html/javascript中,但在这个特定的问题中,我只有一个字符串。所以通过dom检索它不是一个选项。 –