首页 > 解决方案 > 在JS中从字符串中调用字符

问题描述

我目前正在尝试从标题中获取 9 个字符的字符串,列表的开头始终是“BC-”,然后始终是六位数字,所以例如一个完整的东西看起来像 - “BC-004352”我的问题是我可以在“BC-”之后抓取所有内容,但是如果之后有类似“Words Words BC-004352 Words words”之类的内容,那么它会抓取“BC-004352 Words Words”。这会弄乱我的程序,那么他们有什么方法只能捕获“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>

标签: javascript

解决方案


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

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

推荐阅读