JS簡(jiǎn)單編號(hào)生成器實(shí)現(xiàn)方法(附demo源碼下載)

字號(hào):


    本文實(shí)例講述了JS簡(jiǎn)單編號(hào)生成器實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:
    運(yùn)行效果截圖如下:
    名單
    具體代碼如下:
    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>編號(hào)生成器</title>
    </head>
    <body>
    <h1>編號(hào)生成器</h1>
    <div>
    前綴:<input id="txtBegin" type="text" value="" /> 后綴:<input id="txtEnd" type="text" value="" />
    <br />
    位數(shù):<input id="numCount" type="number" value="5" />
    </div>
    <div>
    <label><input type="radio" name="a1" onclick="fnNum();" checked /> 連續(xù)數(shù)字</label>
    <label><input type="radio" name="a1" onclick="fnPwd();" /> 隨機(jī)字符</label>
    </div>
    <div id="divNum">
    范圍:<input id="numBegin" type="number" value="0" /> ~ <input id="numEnd" type="number" value="100" />
    <br />
    過濾字符:<input id="txtLimit" type="text" value="" /> 多個(gè)使用,號(hào)分割
    </div>
    <div id="divPwd">
    <h3>0123456789 abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ</h3>
    包含字符:<input id="txtChar" type="text" value="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" />
    <br />
    隨機(jī)生成個(gè)數(shù):<input id="txtCount" type="number" value="100" />
    </div>
    <input type="button" value="生成號(hào)碼" onclick="run();" /> <span id="spanResult"></span>
    <hr />
    <textarea id="txtContent">
    </textarea>
    <script>
    var boNum = true;
    function fnNum()
    {
      document.getElementById('divNum').style.display = 'block';
      document.getElementById('divPwd').style.display = 'none';
      boNum = true;
    }
    function fnPwd()
    {
      document.getElementById('divNum').style.display = 'none';
      document.getElementById('divPwd').style.display = 'block';
      boNum = false;
    }
    function run()
    {
      var str = '';
      var txtCount = parseInt(document.getElementById('txtCount').value);
      var txtBegin = document.getElementById('txtBegin').value;
      var txtEnd = document.getElementById('txtEnd').value;
      var txtChar = document.getElementById('txtChar').value;
      var numCount = parseInt(document.getElementById('numCount').value);
      var numBegin = parseInt(document.getElementById('numBegin').value);
      var numEnd = parseInt(document.getElementById('numEnd').value);
      var txtLimit = document.getElementById('txtLimit').value;
      var limit = txtLimit.split(',');
      if (txtLimit == '')
      {
        limit = [];
      }
      var count = 0;
      if (!boNum)
      {
        var list = [];
        for (var i=0; i<txtCount; i++)
        {
          var s = '';
          for (var j=0; j<numCount; j++)
          {
            s += txtChar.charAt(Math.floor(Math.random() * txtChar.length));
          }
          var bo = false;
          for (var ii=0; ii<list.length; ii++)
          {
            if (list[ii] == s)
            {
              bo = true;
              alert(s);
              break;
            }
          }
          if (bo) continue;
          str += txtBegin + s + txtEnd + '\r\n';
          list.push(s);
          count++;
        }
      }
      else
      {
        for (var i=numBegin; i<numEnd+1; i++)
        {
          var s = '' + i;
          s = (new Array( numCount - s.length + 1 ).join('0')) + s;
          var bo = false;
          for (var k=0; k<limit.length; k++)
          {
            if (s.indexOf(limit[k]) != -1)
            {
              bo = true;
              break;
            }
          }
          if (bo) continue;
          str += txtBegin + s + txtEnd + '\r\n';
          count++;
        }
      }
      document.getElementById('txtContent').value = str;
      document.getElementById('spanResult').innerHTML = '生成了 ' + count + ' 個(gè)';
    }
    </script>
    </body>
    </html>
    希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。