JavaScript写的序列代码生成器

简介: JavaScript写的序列代码生成器

这样的序列,但在Excel中无法智能填充。

这个可以编写VBA代码来完成,不过我对VBA不太熟,还是用JavaScript写了一个。

<FORM>
<p><font color="blue" size="+2">序列生成器 v0.0.0001</font></p>
<p>固定部分:<INPUT TYPE="text" ID="txtFixed" value="PDAA20124527" /></p>
<p>起始值:<INPUT TYPE="text" ID="txtBegin" value="1"> 结束值:<INPUT TYPE="text" ID="txtEnd" value="999999"> 步长:<INPUT TYPE="text" ID="txtStep" value="1"> <INPUT TYPE="button" VALUE="生成序列" ONCLICK="genCode();"></p>
</FORM>
<script language="javascript">
function genCode()
{
  sFixed = (document.getElementById("txtFixed")).value;
  if (0==sFixed.length)
  {
    if (!confirm("未指示固定部分!\n要继续生成吗?"))
    {
      return;
    }
  }

  iStart = (document.getElementById("txtBegin")).value;
  if (0==iStart.length)
  {
    alert("未指示起始值!");
    return;
  }
  iStart = iStart/1;

  iEnd = (document.getElementById("txtEnd")).value;
  if (0==iEnd.length)
  {
    alert("未指示结束值!");
    return;
  }
  iEnd = iEnd/1;

  iStep = (document.getElementById("txtStep")).value;
  if (0==iStep.length)
  {
    if (!confirm("未指示结束值!\n要默认为1,继续生成吗?"))
    {
      return;
    }
  }
  iStep = iStep/1;
  
  genSerialCode();
}


function genSerialCode()
{
  document.write('<form name="frmTest">');
  document.write('<TEXTAREA ROWS="30" COLS="90" name="taTest">');

  for (i=iStart; i < iEnd+1; i+=iStep)
  {
    document.write(sFixed);
    var j = i;  
    while( (j = j*10) < iEnd )
    {
    //document.writeln("j="+j);
      document.write("0");
    }
    document.writeln(i);
  }

  document.write('<\/TEXTAREA><\/form>');
  var tempval=eval("document.frmTest.taTest");
  tempval.focus();
  tempval.select();
  therange=tempval.createTextRange();
  therange.execCommand("Copy");
}
</script>

改进了一下:

<FORM>
<p><font color="blue" size="+2">序列生成器 v0.0.0001</font></p>
<p>固定部分:<INPUT TYPE="text" ID="txtFixed" value="PDAA20124527" /></p>
<p>起始值:<INPUT TYPE="text" ID="txtBegin" value="1"> 结束值:<INPUT TYPE="text" ID="txtEnd" value="999999"> 步长:<INPUT TYPE="text" ID="txtStep" value="1"> <INPUT TYPE="button" VALUE="生成序列" ONCLICK="genCode();"></p>
</FORM>
<script language="javascript">
function genCode()
{
  sFixed = (document.getElementById("txtFixed")).value;
  if (0==sFixed.length)
  {
    if (!confirm("未指示固定部分!\n要继续生成吗?"))
    {
      return;
    }
  }

  iStart = (document.getElementById("txtBegin")).value;
  if (0==iStart.length)
  {
    alert("未指示起始值!");
    return;
  }
  iStart = iStart/1;

  iEnd = (document.getElementById("txtEnd")).value;
  if (0==iEnd.length)
  {
    alert("未指示结束值!");
    return;
  }
  iEnd = iEnd/1;

  iStep = (document.getElementById("txtStep")).value;
  if (0==iStep.length)
  {
    if (!confirm("未指示结束值!\n要默认为1,继续生成吗?"))
    {
      return;
    }
  }
  iStep = iStep/1;
  
  genSerialCode();
}


function genSerialCode()
{
  document.write('<form name="frmTest">');
  document.write('<TEXTAREA ROWS="30" COLS="90" name="taTest">');
  var j, iMaxLen = String(iEnd).length;
  for (i=iStart; i < iEnd+1; i+=iStep)
  {
    document.write(sFixed);
    var iLen = iMaxLen - String(i).length;

    for (j = 0; j < iLen; j++)
    {
    //document.writeln("j="+j);
      document.write("0");
    }

    document.writeln(i);
  }

  document.write('<\/TEXTAREA><\/form>');
  var tempval=eval("document.frmTest.taTest");
  tempval.focus();
  tempval.select();
  therange=tempval.createTextRange();
  therange.execCommand("Copy");
}
</script>
相关文章
|
JavaScript 前端开发 算法
前端 JS 经典:最长递增子序列
前端 JS 经典:最长递增子序列
363 2
|
存储 JavaScript 前端开发
JavaScript中的数组是核心数据结构,用于存储和操作序列数据
【6月更文挑战第22天】JavaScript中的数组是核心数据结构,用于存储和操作序列数据。创建数组可以使用字面量`[]`或`new Array()`。访问元素通过索引,如`myArray[0]`,修改同样如此。常见方法包括:`push()`添加元素至末尾,`pop()`移除末尾元素,`shift()`移除首元素,`unshift()`添加到开头,`join()`连接为字符串,`slice()`提取子数组,`splice()`进行删除、替换,`indexOf()`查找元素位置,`sort()`排序数组。还有其他如`reverse()`、`concat()`等方法。
336 2
|
JavaScript 数据可视化 前端开发
MetricGraphics.js – 时间序列数据的可视化
  MetricsGraphics.js 是建立在D3的基础上,被用于可视化和布局的时间序列数据进行了优化。它提供以产生一个原则性的,一致的和响应式的方式的图形常见类型的简单方法。该库目前支持折线图,散点图和直方图,以及地毯地块和基本线性回归功能。
1165 0
|
JavaScript 前端开发
剑指 Offer 31. 栈的压入、弹出序列 (javascript实现)
剑指 Offer 31. 栈的压入、弹出序列 (javascript实现)
|
算法 JavaScript
JS算法-最长连续序列
JS算法-最长连续序列
|
JavaScript 前端开发 程序员
六个 JavaScript 中有效的转义序列
六个 JavaScript 中有效的转义序列
242 0
|
JavaScript 前端开发
使用ABAP和JavaScript代码生成PDF文件的几种方式
使用ABAP和JavaScript代码生成PDF文件的几种方式
使用ABAP和JavaScript代码生成PDF文件的几种方式
|
JavaScript
剑指Offer——数字序列中某一位的数字(JS实现)
剑指Offer——数字序列中某一位的数字(JS实现)
332 0
剑指Offer——数字序列中某一位的数字(JS实现)
|
JavaScript
剑指Offer——二叉搜索树的后序遍历序列(JS实现)
剑指Offer——二叉搜索树的后序遍历序列(JS实现)
269 0
剑指Offer——二叉搜索树的后序遍历序列(JS实现)
|
JavaScript
剑指Offer——栈的压入、弹出序列(JS实现) |刷题打卡
剑指Offer——栈的压入、弹出序列(JS实现) |刷题打卡
323 0
剑指Offer——栈的压入、弹出序列(JS实现) |刷题打卡