javascript - Jquery,如何拆分()字符串并在中间获取目标字符串?例如 : sample_str[targeted_str][other_str]

标签 javascript jquery string

http://jsfiddle.net/150aby4u/

我有多个下拉菜单,每个下拉菜单都有不同的字段名称,这些名称会递增。

我的目标是在对下拉列表进行任何更改后获取字符串/文本的中间部分。我想获取中间的数字,即 111

rank_item[111][rank]

HTML

<select class="rank" name="rank_item[0][rank]">
    <option value="0">-Select Your Rank-</option>
    <option value="1">Airman</option>
    <option value="2">Senior Airman</option>
</select>

<br>
<br>
<select class="rank" name="rank_item[1][rank]">
    <option value="0">-Select Your Rank-</option>
    <option value="1">Airman</option>
    <option value="2">Senior Airman</option>
</select>

JS

$(document).ready(function() {

    $(document).on('change keyup', '.rank', function() {
        console.log($(this).attr('name'))
    })
});

最佳答案

使用正则表达式提取]前的数字:

const num = this.name.match(/\d+(?=\])/)[0];
  • \d - 匹配数字
  • (?=\]) - 直到下一个字符是 ]

$(document).on('change keyup', '.rank', function() {
  const num = this.name.match(/\d+(?=\])/)[0];
  console.log(num)
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select class="rank" name="rank_item[0][rank]">
  <option value="0">-Select Your Rank-</option>
  <option value="1">Airman</option>
  <option value="2">Senior Airman</option>
</select>

<br>
<br>
<select class="rank" name="rank_item[1][rank]">
  <option value="0">-Select Your Rank-</option>
  <option value="1">Airman</option>
  <option value="2">Senior Airman</option>
</select>

关于javascript - Jquery,如何拆分()字符串并在中间获取目标字符串?例如 : sample_str[targeted_str][other_str],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56018688/

相关文章:

javascript - ASP.NET MVC4 + 下拉列表 + onChange js 事件

javascript - 在 Vue3-carousel 中显示多个图像

javascript - 快速实现改进的JPEG解码器的8点一维DCT

string - 快速关闭字符串

python - 更简单、更安全的字符串操作 Python

python - 对Python中不可变的字符串: how to,进行多次修改?

javascript - 如何对数组的两种类型的值进行排序?

javascript - jQuery - 在加载并执行脚本后触发 AJAX 回调?

javascript - 通过 PHP 从 mp3 文件中获取封面艺术并显示它

node.js - 如何检索我在服务器端 (node.js) 的 jQuery.ajax( )'s ` data` 属性中传递的对象?