js-生成随机字符串

JavaScript026

js-生成随机字符串,第1张

通过 Math.random() 生成随机小数[0, 1),使用 toString(36) 转化为36进制的字符串,substring切割掉前面的 0. 。

存在问题:当为0时会返回空字符串。最多生成10位字符串,而字符串化时会删除尾随零,所以实际字符串长度不定

stackoverflow

只生成16进制的字符串,低版本浏览器不支持

Crypto

1)1~8位采用系统时间,在系统时间上精确到毫秒级保证时间上的惟一性;

2)9~16位采用底层的IP地址,在服务器集群中的惟一性;

3)17~24位采用当前对象的HashCode值,在一个内部对象上的惟一性;

4)25~32位采用调用方法的一个随机数,在一个对象内的毫秒级的惟一性。

通过以上4种策略可以保证惟一性。在系统中需要用到随机数的地方都可以考虑采用UUID算法。

当然可以,脚本型的语言都有这个功能

js里有个函数叫eval(),就是用来动态执行代码的。

例如eval("alert(1)")就会弹出对话框显示1,如果eval里面的参数是更加复杂的js代码就可以实现更复杂的功能。