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

Javascript 只需要从textarea中的字符串中提取整数,然后将结果移动到另一个textarea,javascript,Javascript,我有一个文本区: type=“text”value=“H0?”我无法更改 H&0已填入字符-预定义,因此用户在此之后仅输入3随机数。我需要从该字段中提取这三个数字(不包括“H”和前导的“0”)。 让我们假设输入是:H0987(用户填写的文本区域)。 我需要有一个点击按钮,它将执行到另一个文本区域的提取。结果必须如示例987所示 高级#1个问题:)如果有人打扰 更好的输出是在数字后面加逗号“:”,这样我想要的输出在点击之后是“987:” 高级#2问题:)如果有人打扰 当987:被提取到新的文本区域

我有一个文本区:
type=“text”value=“H0?”
我无法更改

H
&
0
已填入字符-预定义,因此用户在此之后仅输入
3
随机数。我需要从该字段中提取这三个数字(不包括“H”和前导的“0”)。 让我们假设输入是:H0987(用户填写的文本区域)。 我需要有一个
点击
按钮,它将执行到另一个
文本区域
的提取。结果必须如示例
987
所示

高级#1个问题:)如果有人打扰 更好的输出是在数字后面加逗号“:”,这样我想要的输出在点击之后是“987:”

高级#2问题:)如果有人打扰 当987:被提取到新的文本区域时,我需要根据他们分别选择的3个下拉列表填写另外3个数字。
  • 下拉菜单有3个选项(比如说一些颜色)
  • 下拉菜单有3个选项(比如说其他字符串)
  • 下拉菜单有3个选项(比如说其他字符串)
  • 那么,有没有一种方法可以在“提取的数字”+”之后添加:“+”some1.dropdownpoption\u option“+”some2.dropdownpoption\u option“+”some3.dropdownpoption\u option“

    所需输出:
    987:123
    其中1、2、3 after:表示用户在下拉列表中选择的选项。不是在选项菜单中给自己赋值,而是给那些最终被视为数字的选项赋值

    我更喜欢javascript,因为我的其余代码都在运行它


    多谢各位。这个社区真是太棒了。

    我能够根据网站示例让它正常工作。正如我在问题中所说的,没有必要进行下拉式调用,但我需要复选框。另外,字符串以“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 = '';
    
    }
    
    
    函数f_set_comm(){
    //提取整数
    var value=document.getElementById(“主机名”).value;
    变量编号=value.match(/\d+/g).map(编号);
    //地址:9
    document.getElementById(“comtest”)。值=数字;
    document.getElementById(“comtest”).value=document.getElementById(“comtest”).value+“:9”;
    //检查类型并根据主机名中最后一个字符A或B添加1或2
    if(value.substring(value.length-1)=“A”)
    document.getElementById(“comtest”).value=document.getElementById(“comtest”).value+1;
    if(值子字符串(值长度-1)=“B”)
    document.getElementById(“comtest”).value=document.getElementById(“comtest”).value+2;
    如果(!((value.substring(value.length-1)=“A”)&(!(value.substring(value.length-1)=“B”))
    document.getElementById(“comtest”).value=document.getElementById(“comtest”).value+0;
    //如果未选中,请删除所有字符串
    如果(!document.getElementById(“comm_check1”).checked)
    document.getElementById('comtest')。值=“”;
    }
    
    您能发布代码吗?帮助解决您的问题更容易。毫无疑问,社区非常棒。但这里的人们喜欢看到努力。你能把你写的代码贴出来吗。会鼓励我帮忙:)