Plus Party Controller

HTML

<div ng-app ng-controller='PlusPartyController'>
    <textarea rows='10' cols='40' ng-model='rawText'></textarea>
    <ul>
        <li ng-repeat='number in numberList'>{{number.number | number:2}}</li>
    </ul>
    <h1>{{total | number:2}}</h1>
</div>

CSS

ul li {
    list-style-type: none;
    text-align: right;
}
ul{
    margin: 0;
    padding: 0;
}
h1 {
    text-align: right;
}

JavaScript

console.log(document.querySelector('textarea').value)
function PlusPartyController($scope){
    $scope.rawText = '1000 1,000 1,000.00 9,000,000 4,567,897 54,678,98';
    $scope.$watch('rawText', function(){
        $scope.numberList = parseNumbers($scope.rawText);
        $scope.total = numberTotal($scope.numberList);
    })
}
function uncommaLongNumbers(inputString) {
    var commaRe = /-?\d{1,3},(\d{3},)*\d{3}\b/;
    //var match = commaRe.exec(inputString);
    var match;
    while (match = commaRe.exec(inputString)) {   
      var beforeString = inputString.slice(0, match.index);
      var noCommas = match[0].replace(/,/g, '');
      var afterString = inputString.slice(match.index + match[0].length);
      inputString = beforeString + noCommas + afterString;
      commaRe.lastIndex = 0; 
    }
    return inputString;
}

function parseNumbers(rawText){
    // If 'dog' => ''
    // If '9' => 9
    // If '19' => 19
    // If '4.5' => 4.5
    // If '$5.60' => 5.60
    // If 1,000 => 1000
    // If 12/3/14 => ignore
    // If 5/12/472/456 
    // If -3 ==> -3
    var dateRe = /\b\d{1,2}\/\d{1,2}\/(\d{2}|\d{4})\b/g;
    rawText = rawText.replace(dateRe, '');
    rawText = uncommaLongNumbers(rawText);
    var numbersRe = /-?[0-9.]+/g;
    var numbers = [];
    var match;
    while ((match = numbersRe.exec(rawText)) !== null) {
        try {
            var number = parseFloat(match, 10);
            console.log("parsed", match, number);
            numbers.push({number: number})
        } catch(error) {
            console.log("didn't parse", match);
        }
    }
    return numbers;
}

function numberTotal(numberList){
    var currentTotal = 0;
    for (var i=0; i<numberList.length; i++){
        currentTotal = currentTotal + numberList[i].number;
    }
    return currentTotal;
}