如何从字符串中删除字符,并从新字符串中返回数字-Javascript

如何从字符串中删除字符,并从新字符串中返回数字-Javascript,javascript,string,binary,return,Javascript,String,Binary,Return,我有几个函数,旨在将用户输入的字符串转换为二进制数。这是我正在编写的基本“汇编程序”的一部分。这是我的密码: function generateBinaryNumber(inputValue) //only works for hash! { var number; if(containsHash(inputValue) != -1) { number = getNumberFromString(inputValue); } r

我有几个函数,旨在将用户输入的字符串转换为二进制数。这是我正在编写的基本“汇编程序”的一部分。这是我的密码:

    function generateBinaryNumber(inputValue) //only works for hash!
{
    var number;

    if(containsHash(inputValue) != -1)
    {
        number = getNumberFromString(inputValue);
    }

    return decimalToBinary(number);
}

function containsHash(number) //Working!
{
    var n = number.indexOf('#');
    return n;
}

function getNumberFromString(mixedInput) //Working!
{
    return (mixedInput.replace('#',''));
}

function decimalToBinary(decimal) //Working!
{
    decimal = parseInt(decimal);
    return decimal.toString(2);
}

例如,如果用户输入值“5”,则函数返回NaN-但是如果用户指定#5,则返回101。我是编程和Javascript新手,如果有人能给我指出正确的方向那就太好了。谢谢

如果没有
#

您只想说
var number=inputValue当您声明它时

作为旁注,您还应该在parseInt中添加一个基数参数(例如
parseInt(decimal,10)
),否则它会将
“010”
等输入视为十六进制数字,并会错误地对其进行解析

function generateBinaryNumber(inputValue) //only works for hash!
{
    var number; //number is not set

    if(containsHash(inputValue) != -1) 
    {
        //number is set here, but only if the if statement is true
        number = getNumberFromString(inputValue);
    }
    //if containsHash was false, number is undefined
    return decimalToBinary(number);
}