需要从textarea的字符串只提取整数,然后将结果移动到另一个文本区域

问题描述 投票:-3回答:1

我有textarea的:type="text" value="H0???"我不能改变。

H0已经填写-predefined打完用户仅输入3随机数字符。我需要从现场提取的三个数字(不包括“H”,也是领先的“0”)。因此可以说,输入是这样的:H0987(textarea的是用户填写)。我需要有一个click按钮,将执行提取到另一个text area。结果必须是如在实施例987

高级#1的问题:)如果有人打扰..:更好的输出是添加逗号“:”数字以及之后,所以我期望的输出将是“987”后点击。

高级#2的问题:)如果有人打扰..:当987:提取到新的textarea,我不需要再填上基于3个下拉菜单则分别选择也是另一个3号。

  • 下拉菜单有3个选项(可以说一些颜色)
  • 下拉菜单有3个选项(可以说一些其他的字符串)
  • 下拉菜单有3个选项(可以说一些其他的字符串)
  • so is there a way to add also after "extracted numbers" + ":" + "some1.dropdownoption_option" + "some2.dropdownoption_option" + "some3.dropdownoption_option" ?

    期望的输出:987:123其中1,2,3后:表示用户拿起在下拉列表中选择。不重视自理在选项菜单,但分配的编号给那些在结果被视为数字选项。

    我喜欢JavaScript作为我的代码其余部分正在运行。

    非常感谢你。这个社区是真棒。

    javascript
    1个回答
    0
    投票

    我能得到它的工作基于网站的例子。没有必要为下拉电话,因为我在这个问题说,但我需要的复选框来代替。此外,字符串是先从“B”,所以我不得不用(value.length-1)实际检查最后一个字符。此外,我使用复选框代替按钮。代码绝对可以得到改善。

    <input id="hostname" name="hostname" type="text" value="BR0???" class="hostname"/>
    <input id="comtest" name="comtest" type="text" class="commmunity"/>
    <input id="comm_check1" name="comm_check1" type="checkbox"  onchange="f_set_comm()"/>
    
    function f_set_comm() {
    
      //extract integers    
      var value = document.getElementById("hostname").value;
      var numbers = value.match(/\d+/g).map(Number);
    
      //add :9
      document.getElementById("comtest").value = numbers; 
      document.getElementById("comtest").value = document.getElementById("comtest").value + ":9";
    
      //check type and add 1 or 2 based on last char A or B in hostname
      if (value.substring(value.length-1)== "A")
        document.getElementById("comtest").value = document.getElementById("comtest").value + "1";
    
      if (value.substring(value.length-1)== "B")
        document.getElementById("comtest").value = document.getElementById("comtest").value + "2";
    
        if (!((value.substring(value.length-1)== "A")) && (!(value.substring(value.length-1)== "B")))
           document.getElementById("comtest").value = document.getElementById("comtest").value + "0";
    
          //remove all strings if unchecked
      if (!document.getElementById("comm_check1").checked)
        document.getElementById('comtest').value = '';
    
    }
    
    © www.soinside.com 2019 - 2024. All rights reserved.