发新帖

如何用脚本编程随机产生字母

219 0
近来有客户说,在条码打印软件网站介绍了如何用脚本编程随机产生数字,他们现在碰到了一个问题是,如何用脚本编程随机产生字母。其实用随机生成也可以随机生成字母,只需要修改字符集合及生成长度即可,但是客户不想用随机生成,要求用脚本编程,咨询该如何设置,方法如下:
在条码打印软件中,点击软件左侧的“实心A”按钮,在画布上绘制一个普通文本对象,双击普通文本,在图形属性-数据源中,点击“修改”按钮,数据对象类型选择“脚本编程”,在下面的状态框中,手动输入要实现的代码,如图所示:

function getRandomArr(arr) {
    var num = arr.length;
    var _arr = arr.concat();
    var n = _arr.length;
    var rs= [];   
    while(n-- && num--) {
        var index = Math.floor(Math.random() * n);
        [_arr[index], _arr[n]] = [_arr[n], _arr[index]];
        rs.push(_arr[n]);
    }
    return rs;
}
var letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".split("");
var result=[];
ran = Math.floor(Math.random() * letters.length);
result.push(letters.splice(ran, 1)[0]);
ran = Math.floor(Math.random() * letters.length);
result.push(letters.splice(ran, 1)[0]);
ran = Math.floor(Math.random() * letters.length);
result.push(letters.splice(ran, 1)[0]);
ran = Math.floor(Math.random() * letters.length);
result.push(letters.splice(ran, 1)[0]);
result = getRandomArr(result);
strReturn=result.join("");
设置好之后,可以点击软件上方工具栏中的“打印预览”按钮,查看批量生成效果,如图所示:
有了上述代码,对其有了解的用户可以根据自己的实际需求对代码进行加工修改,可以变成只生成纯数字的,或者生成的字母中不含有易混淆的字母的如I、O这些;亦或者随机生成更多或更少位数字母的效果等等。
其实用随机生成可以实现一样的效果,绘制普通文本之后,双击普通文本,在图形属性-数据源中,点击“修改”按钮,数据对象类型选择“随机生成”,字符集合修改为“ABCDEFGHIJKLMNOPQRSTUVWXYZ”,生成长度为4,点击编辑。


以上就是有关用脚本编程实现随机产生字母的操作步骤,用随机生成实现的效果也是一样的。每个人的操作习惯不一样,可能觉得简易程度也不一样。不管哪种方式,只要能实现自己想要的效果就行。如果你也对脚本编程感兴趣,可以在条码打印软件中输入你所需的代码,试试能不能达到你想要的效果。