为了账号安全,请及时绑定邮箱和手机立即绑定

Javascript 正则全局匹配提取

Javascript 正则全局匹配提取

慕森卡 2019-03-13 18:15:06
需求从selectNull('AgentIdI333');selectNull('GameId333');if(this.value) selectChange(jsonUrl.myAgent+this.value,'AgentIdI333','','AGENTID','AGENTNAME')中提取出["AgentIdI333","GameId333"]正则/selectNull\(\'([\w-]+)\'\)/ig 测试<select name="AgentIdP" id="AgentIdP333" class="customTAB"onchange="selectNull('AgentIdI333');selectNull('GameId333');if(this.value) selectChange(jsonUrl.myAgent+this.value,'AgentIdI333','','AGENTID','AGENTNAME')"></select><script type="text/javascript">var html = document.getElementById('AgentIdP333').getAttribute('onchange');// var m = html.match(/selectNull\(["\']{1}([\w]+)[\'"]{1}\)/ig);var m = html.match(/selectNull\(\'([\w-]+)\'\)/ig);//["selectNull('AgentIdI333')", "selectNull('GameId333')"]console.log(m);</script>补充现在可以了,原来javascript中要用while循环才可以得到所有的。
查看完整描述

2 回答

?
潇湘沐

TA贡献1816条经验 获得超6个赞

看楼主的代码中AgentIdP333和GameId333是两个比较重要的属性,或者说333是比较重要的值。

一方面,这个属性的值写死在代码里暂且不论,还要从onchange函数中提取简直太多此一举了。


不如使用data属性:


<select name="AgentIdP" id="AgentIdP333" class="customTAB" data-agentid="333" data-gameid="333"></select>




<script type="text/javascript">

var agent = document.getElementById('AgentIdP333');

var agentId = agent.getAttribute("data-agentid");

var gameId = agent.getAttribute("data-gameid");

</script>



你用jquery的话拿数据更简单:


var agentId = $('#AgentIdP333').data('agentid');


查看完整回答
反对 回复 2019-04-14
  • 2 回答
  • 0 关注
  • 666 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信