首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在JavaScript中从ASCII字符生成随机字符串

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

Stack Overflow用户
提问于 2019-09-12 12:21:47
回答 1查看 1.4K关注 0票数 3

如何构建一个简单的字符串生成器,通过在方法中键入ASCII-character-number-range,创建并打印出一个10个字符的随机字符串,包括ASCII表的小写和大写字母、数字以及从0到127的特殊字符?不是像这样的变量

代码语言:javascript
复制
    var possibleCharacters = "01234567890abcdefgh....."

我的一个朋友已经用Java语言构建了它(见下文),那么我如何在JavaScript中构建它,也可以使用Java示例中的for循环呢?

代码语言:javascript
复制
    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--;
        }
    }
}
}

它应该只生成类似于"_e7N?:G&M0“的东西。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-12 12:43:19

返回随机字符串的函数:

代码语言:javascript
复制
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());

如果您尝试生成介于33和127之间的数字:

代码语言:javascript
复制
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());

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57899690

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档