在JS中从字符串调用字符

时间:2018-06-21 14:27:40

标签: javascript

我当前正在尝试从标题中抓取9个字符串,列表的开头始终是“ BC-”,然后始终是6位数字,因此例如,完整的内容看起来像是“-BC- 004352”我的问题是我可以抓住“ BC-”之后的所有内容,但是如果之后有诸如“单词单词BC-004352单词单词”之类的东西,则它会抓住“ BC-004352单词单词”。这会弄乱我的程序,那么他们仅捕获“ BC-004352”的任何方式吗?然后如何在脚本运行按钮的那一刻使脚本自可执行,这没有帮助

<!--BC-Check six digit-->
  <script type="text/javascript">
  function bc_check() {
    var str = "FUCKCKCKKC  BC-040300 Has broken";
    var res = str.substring(str.indexOf("BC-") + 0);
    document.getElementById("recognize").innerHTML = res;
  }
</script>

2 个答案:

答案 0 :(得分:1)

或者您可以使用正则表达式来做到这一点:

const testString = "FCKCKCKKC  BC-040300 Has broken";
const regex = /.*?BC-(\d+).*?/; //Capture any number of digits following BC-
const matches = testString.match(regex); //Get the match collection

console.log(matches[1]); //Match collection index 1 holds your number

答案 1 :(得分:0)

子字符串具有indexEnd的第二个参数。它不包含该索引处的字符,因此您必须添加一个字符才能获取所需的所有字符。因此,在这种情况下,您需要将“ BC-”的索引加10。