生成序列号范围而无需重复

时间:2019-07-23 09:44:34

标签: javascript html

任何人都可以通过代码帮助我。我试图按顺序且不重复地生成范围12012300至12012400的数字。如果在文本框下方显示一条消息,指出已保留生成的号码,那将是很好的选择。

预先感谢堆

<form>
 <input name="code" id="code" type="text" placeholder="#########" value="" readonly /> 

        <script type="text/javascript"> 
          function makeid() {
            return Math.floor(Math.random() * 100) + 12012300;
          }
        </script>
        <input type="button" value="Generate Code" onclick="document.getElementById('code').value = makeid()"></input>
       <input type="reset" value="Reset" />
</form>

1 个答案:

答案 0 :(得分:0)

您可以使用闭包,自调用功能的基本示例

如果您需要序号,则无需使用Math.random

let makeid = (() => {
	let id = 12012300;
	return () => {
		if(id > 12012400 ) throw( 'max id reached')
		return id++;
	};
})();

console.log(makeid())
console.log(makeid())
console.log(makeid())