Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.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_Jquery_Regex - Fatal编程技术网

Javascript 正则表达式拆分字符串并检查字符串是否为

Javascript 正则表达式拆分字符串并检查字符串是否为,javascript,jquery,regex,Javascript,Jquery,Regex,安瓦尔奥普维勒米斯(499 | 453)C44 这是字符串的样子。虽然它实际上是这样的:“Aanval op variable(variable)variable 我想做的是1:获取坐标(我已经有了这个),2获取Vlemis(第一个变量),获取C44(第三个变量),然后检查字符串是否属于这种类型 我的代码: $("#commands_table tr.nowrap").each(function(){ var text = $(this).find("input[id

安瓦尔奥普维勒米斯(499 | 453)C44

这是字符串的样子。虽然它实际上是这样的:“Aanval op variable(variable)variable

我想做的是1:获取坐标(我已经有了这个),2获取Vlemis(第一个变量),获取C44(第三个变量),然后检查字符串是否属于这种类型

我的代码:

  $("#commands_table tr.nowrap").each(function(){
            var text = $(this).find("input[id*='editInput']").val();



                            var attackername= text.match(/(?=op)[\s|\w]*(?=\()/);
                            var coordinates = text.match(/\(\d{1,3}\|\d{1,3}\)/);



                            });
坐标起作用,而attackername不起作用

Html:

  <span id="labelText[6]">Aanval op Vlemis (499|453) C44</span>
Aanval op Vlemis(499 | 453)C44

您应该使用一个正则表达式来获取所有内容:

var parts = text.match(/(\w+)\s*\((\d+)\|(\d+)\)\s*(\w+)/).slice(1);
这建立了

["Vlemis", "499", "453", "C44"]
如果您不确定字符串是否有效,请执行以下测试:

var parts = text.match(/(\w+)\s*\((\d+)\|(\d+)\)\s*(\w+)/);
if (parts) {
    parts = parts.slice(1);
    // do things with parts
} else {
    // no match, yell at the user
}

坐标是什么,附件名是什么?你在谈论哪些变量。只是一个建议,但你不能抓住跨度的内容,在空格处将其拆分并相应地引用吗?是的,我可以,但这只适用于这种类型的字符串。我只能检查字符串是否与Regex:)Coodinates匹配=(xxx | yyy),attackername=first variable(vlemis)。这很有效,谢谢!当字符串不匹配时脚本停止运行(例如,有些字符串是这样的:549 | 567(vlemi)Ver=100,Kata=3),我如何检查字符串是否属于我提到的类型,然后在匹配时运行正则表达式?或者我做错了什么。(我正在使用alert来测试它)如果(parts!=null&&parts.length>0)可能吗?非常感谢您的快速回答!