PTT推文抽獎

HTML

<p>PTT推文抽獎</p>
<textarea id="pushcontent" cols="40" rows="5">輸入PTT推文內容</textarea>
<p><input type=button value="分析ID" onclick="parseIDs()"></p>
<p>一共有 <span id="idCount">0</span> 人參與死鬥(?):</p>
<textarea id="idStr" cols="40" rows="5" readonly>分析後的ID會在這裡</textarea>
<p><input type="checkbox" id="nocheat">本人承諾搖號過程中有任何作弊行為我就是孫子</p>
<p><input type=button value="搖吧!" onclick="roll()"></p>
<p id="result"></p>

JavaScript

var idList = [];

function parseIDs() {
    //parse ID
    var regex = /[推→] ([A-Za-z0-9]+):.*[\s\S]/g;
    var content = document.getElementById('pushcontent').value;
    var result;
    idList = [];
    while(result = regex.exec(content)) {
        idList.push(result[1]);
    }
    idList = unique(idList);
    
    //update ID count
    document.getElementById('idCount').innerHTML = idList.length;
    
    //update ID List
    var idString = '';
    for (var i in idList) {
      idString += idList[i] + ' ';
    }
    document.getElementById('idStr').innerHTML = idString;
}

function roll() {
    document.getElementById('result').innerHTML = '';
    if(!document.getElementById('nocheat').checked) {
        alert('不要作弊啦QAQ');
        return;
    }
    if(idList.length==0) {
        alert('沒有半個人想抽哭哭');
        return;
    }
    var winner = idList[randomFloor(0, idList.length-1)];
    var congrats = '恭喜 <b>' + winner + ' </b>獲得大獎!'
    document.getElementById('result').innerHTML = congrats;
}

function randomFloor(min,max) {
    return Math.floor(Math.random()*(max-min+1)+min);
}

function unique(list) {
  var result = [];
  $.each(list, function(i, e) {
    if ($.inArray(e, result) == -1) result.push(e);
  });
  return result;
}