简体   繁体   English

如何在JavaScript中从ASCII字符生成随机字符串

[英]How to generate a random string from ASCII characters in JavaScript

How can I build a simple string generator that creates and prints out a randomized string of 10 characters, including lowercase and uppercase letters, numbers and special characters from 0 to 127 of the ASCII table by typing the ASCII-character-number-range in the method? 如何构建一个简单的字符串生成器,通过在ASCII表中键入ASCII-character-number-range,创建并打印出10个字符的随机字符串,包括ASCII表的0到127的小写和大写字母,数字和特殊字符。方法? Not a variable like 不像变量那样

    var possibleCharacters = "01234567890abcdefgh....."

A friend of me already built it in Java (see below), so how can I build that in JavaScript, also with a for-loop like in the Java example? 我的一个朋友已经用Java构建它(见下文),那么如何在JavaScript中构建它,也可以像Java示例中那样使用for循环?

    public class Main {
public static void main(String[] args) {
    for (int counter = 0; counter <= 9; counter++) {
        int randomNum = 0 + (int)(Math.random() * 127);
        if(randomNum > 33) {
            System.out.print((char)randomNum);
        }else {
            counter--;
        }
    }
}
}

It should just generate something like "_e7N?:G&M0" ie 它应该生成类似“_e7N?:G&M0”的东西,即

A function to return the random string: 一个返回随机字符串的函数:

 function getString() { var str = ""; for (counter = 0; counter <= 9; counter++) { var randomNum = 0 + parseInt(Math.random() * 127); if (randomNum > 33) { str += String.fromCharCode(randomNum); } else { counter--; } } return str; } for (i = 0; i < 10; i++) console.log(getString()); 

If you're attempting to generate numbers between 33 and 127: 如果您尝试生成33到127之间的数字:

 function getString() { var str = ""; for (counter = 0; counter <= 9; counter++) { var randomNum = 0 + parseInt(Math.floor(Math.random() * (127 - 33 + 1) + 33)); str += String.fromCharCode(randomNum); } return str; } for (i = 0; i < 10; i++) console.log(getString()); 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM