Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 正则表达式在字符串中查找字符串_Javascript_Regex - Fatal编程技术网

Javascript 正则表达式在字符串中查找字符串

Javascript 正则表达式在字符串中查找字符串,javascript,regex,Javascript,Regex,我有这样的字符串: <input name="my_name" id="my_id" value="my_value" class="my_class" /> 我想找到“id”中的内容,即“我的id” 提前感谢您可以使用这样一个简单的jquery函数 var currentId = $(".my_class").attr('id'); 如果您只需要加载一个完整的DOM操作库,请不要加载它 如果您有一个字符串,可以将其转换为DOM元素,并获取id属性 var my_string

我有这样的字符串:

<input name="my_name" id="my_id" value="my_value" class="my_class" />

我想找到“id”中的内容,即“我的id”


提前感谢

您可以使用这样一个简单的jquery函数

var currentId = $(".my_class").attr('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='';
var div=document.createElement('div');
div.innerHTML=我的字符串;
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];
var my_string='';
var id=/id\s*=\s*“([^”]+)”/.exec(我的字符串);
如果(id)id=id[1];

如果您必须使用正则表达式来解析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];
var regex=/id=“([^”]+)”/
var字符串=“”;
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="','"');
函数TextBetween(str,first,second){
如果(str==null){
警报(“意外的页面格式,请重新加载”);
返回“”;
}
var x=str.indexOf(first)+first.length;
var z=str.substr(x);
变量y=z.indexOf(秒);
返回z.substr(z,y);
}
var inputString='';
var id=TextBetween(inputString,'id=“”,'”);

否则,其他人已经指出了解决方法。

document.form\u name.my\u name.id
应该可以满足您的需要。您编写程序以提取数据的语言是什么?它是html/javascript,但在本期中,我只有一个字符串。因此,通过dom检索它不是一个选项。