//随机取得数组中的一个
var Arr = ["a","b","c","d"]
var n = Math.floor(Math.random() * Arr.length + 1)-1
alert(Arr[n])
</script>
将你要随机的几段文字写在数组里面
原理:
通过索引,每次获取不同的步进值,并截取出步进的片段,在片段中插入制定的字符串。
代码:
yStr="abcdefghijklmnopqrstuvwxyz0123456798"//上面是原字符串,可以直接指定或通过DOM从页面中获取到
rStr="*"
zStr=""//输出的字符串
prePo=0
for(var i=0i<yStr.length){
step=parseInt(Math.random()*6)+1//随机前进1至6个字符
if(i>0){//忽略最前面的
zStr=zStr+yStr.substr(prePo,i-prePo)+rStr
prePo=i
}
i=i+step
}
if(prePo<yStr.length){zStr=zStr+yStr.substr(prePo,yStr.length-prePo)}//加上最后的片段
测试代码如下:
<html><head><meta http-equiv="Content-Type" content="text/html charset=gb2312">
</head><body>
<script>
yStr="abcdefghijklmnopqrstuvwxyz0123456789" //这是与原字符串
rStr="*"
zStr=""//输出的字符串
prePo=0
for(var i=0i<yStr.length){
step=parseInt(Math.random()*6)+1//随机前进1至6个字符
if(i>0){//忽略最前面的
zStr=zStr+yStr.substr(prePo,i-prePo)+rStr
prePo=i
}
i=i+step
}
if(prePo<yStr.length){zStr=zStr+yStr.substr(prePo,yStr.length-prePo)}
document.write(zStr)
</script>
</body>
</html>