목차
JavaScript에서 난수 생성
범위 내에서 임의의 정수 생성
암호적으로 안전한 난수 생성
JavaScript에서 임의의 영숫자 문자열 생성
使用 toString() 生成随机字母数字字符串
最终想法
웹 프론트엔드 JS 튜토리얼 JavaScript에서 난수 및 문자열 생성

JavaScript에서 난수 및 문자열 생성

Sep 02, 2023 am 08:57 AM
숫자 무작위의

JavaScript에서 난수 및 문자열 생성

난수 또는 영숫자 문자열을 생성하는 기능은 여러 상황에서 유용합니다. 이를 사용하여 게임의 다양한 위치에 적이나 음식을 생성할 수 있습니다. 또한 이를 사용하여 사용자에게 임의의 비밀번호를 제안하거나 파일 이름을 만들어 파일을 저장할 수도 있습니다.

저는 PHP에서 임의의 영숫자 문자열을 생성하는 방법에 대한 튜토리얼을 작성했습니다. 나는 이 게시물의 시작 부분에서 실제로 무작위인 이벤트는 거의 없으며 난수나 문자열 생성에도 동일하게 적용된다고 말했습니다.

이 튜토리얼에서는 JavaScript에서 의사 난수 영숫자 문자열을 생성하는 방법을 보여 드리겠습니다.

JavaScript에서 난수 생성

난수를 생성하는 것부터 시작해 보겠습니다. 가장 먼저 떠오르는 방법은 부동 소수점 의사 난수를 반환하는 Math.random()입니다. 난수는 항상 0보다 크거나 같고 1보다 작습니다.

이 범위에서 반환되는 숫자의 분포는 거의 균일하므로 이 방법을 사용하면 일상적인 사용에서 뚜렷한 편차 없이 난수를 잘 생성할 수 있습니다. 다음은 Math.random() 메서드를 10번 호출한 결과입니다.

으아악

범위 내에서 임의의 정수 생성

이전 섹션에서 본 것처럼 Math.random()는 0(포함)에서 1(제외) 범위의 임의의 숫자를 제공합니다. 0(포함)에서 100(제외) 범위의 임의의 정수를 원한다고 가정합니다. 여기서 해야 할 일은 원래 범위에 100을 곱하는 것뿐입니다.

위 코드 조각의 첫 번째 출력 값을 예로 들면, 0.9981169188071801에 100을 곱하면 99.81169188071801이 됩니다. 이제 Math.floor() 메서드를 사용하면 값이 99.81169188071801보다 작거나 같은 가장 큰 정수를 반환할 수 있습니다. 즉, 99가 됩니다.

다음 코드 조각은 10번 반복되어 다른 숫자에 적용된 모든 단계를 보여줍니다.

으아악

이제 곱셈과 반올림의 논리를 이해했으므로 최대 한도 내에서 임의의 정수를 생성하는 함수를 작성할 수 있습니다.

으아악

지정된 최소값은 초과하지만 최대값 미만인 난수를 생성하려면 어떻게 해야 합니까?

이 경우 최소값 앞에 추가하여 결과 숫자가 최소한 최소값과 같도록 할 수 있습니다. 그런 다음 간단히 임의의 숫자를 생성하고 max - min를 눌러 크기를 조정하고 가능한 가장 작은 값에 추가할 수 있습니다.

으아악

암호적으로 안전한 난수 생성

Math.random() 方法不适合生成加密安全的随机数,但是 Crypto.getRandomValues() 메서드는 암호화된 보안 난수를 생성하는 데 적합하지 않지만 Crypto.getRandomValues() 메서드가 여기서 도움이 될 수 있습니다. 이 메소드는 암호화된 보안 의사 난수로 전달된 배열을 채웁니다. 이러한 난수를 생성하는 데 사용되는 알고리즘은 사용자 에이전트마다 다를 수 있습니다.

앞서 언급했듯이 정수 기반 TypedArray을 메서드에 전달하여 임의의 값으로 채워야 합니다. 배열의 원래 내용이 대체됩니다. 다음 코드는 10개 요소로 구성된 배열을 임의의 정수로 채웁니다.

으아악

Unit8Array() 생성자는 10개의 8비트 부호 없는 정수 배열을 제공합니다. 배열 값은 모두 0으로 초기화됩니다.

이 배열을 getRandomValues() 方法,随机数的值将保持在 0 到 255 之间。您可以使用其他类型数组来生成不同范围的随机数。例如,使用 Int8Array() 构造函数将为我们提供一个整数值在 -128 到 127 之间的数组。同样,使用 Uint16Array()에 전달하면 최대 65,535까지의 정수 값 배열이 제공됩니다. p> 으아악

JavaScript에서 임의의 영숫자 문자열 생성

이제 이전 섹션에서 얻은 지식을 사용하여 JavaScript에서 임의의 영숫자 문자열을 생성하겠습니다.

개념은 매우 간단합니다. 필요한 모든 문자를 포함하는 문자열부터 시작하겠습니다. 이 예에서 문자열은 소문자, 대문자, 0에서 9까지의 숫자로 구성됩니다. 이미 알고 계시겠지만, 인덱스 값을 문자열에 전달하여 문자열의 특정 위치에 있는 문자에 액세스할 수 있습니다.

임의의 영숫자 문자열을 생성하려면 난수를 생성한 다음 해당 임의의 인덱스에 있는 문자에 액세스하여 이를 임의의 문자열에 추가하기만 하면 됩니다. 다음 코드 조각은 이 모든 것을 멋진 작은 함수로 마무리합니다.

const char_set = 'abcdefghijlkmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';

function max_random_number(max) {
  return Math.floor(Math.random() * max);
}

function get_random_string(length) {
  let random_string = '';

  for(let i = 0; i < length; i++) {
    random_string += char_set[max_random_number(char_set.length - 1)];
  }
  
  return random_string;
}

console.log(get_random_string(20));
// Outputs: lgtuRJZolu7AXj4HMoiM

console.log(get_random_string(40));
// outputs: scOoal3VXgeAjaHIieolhi2TyWFpAn5bBPPiX6UG
로그인 후 복사

使用 toString() 生成随机字母数字字符串

我们可以用来生成随机字母数字字符串的另一种方法是对随机生成的数字使用 toString() 方法。 toString() 方法返回一个表示我们指定数值的字符串。此方法接受可选的 radix 参数,该参数指定要表示数字的基数。值为 2 将返回二进制字符串,值为 16 将返回十六进制字符串。该参数默认值为10。最大值可以为36,因为它涵盖了全部26个字母和10个数字。

以下是针对不同 radix 值对此方法进行几次调用的输出:

let number = 3498650143868;

console.log(number.toString(2));
// Outputs: 110010111010010111110011001000110001111100

console.log(number.toString(10));
// Outputs: 3498650143868

console.log(number.toString(16));
// Outputs: 32e97cc8c7c

console.log(number.toString(36));
// Outputs: 18n99yoak
로그인 후 복사

您可能已经注意到,随着我们增加 radix,输出字符串的长度不断减少。在下面的代码片段中,我们将使用上一节中的 max_random_number() 函数来获取随机数。然后,我们将使用 toString() 方法将此随机数转换为字母数字字符串。

function max_random_number(max) {
  return Math.floor(Math.random() * max);
}

for(let i = 0; i < 10; i++) {
  console.log(max_random_number(Number.MAX_SAFE_INTEGER).toString(36));
}
/* Outputs:
1tr84s6c2sl
1yj4varyoj7
1zdg9nn0z6r
lubrjj1zih
13tt2n5vw9t
1mv6sctjgf
yx3fhnznhf
1wj4mdcrqb9
26sir75af2r
qdv9xv800t
*/
로그인 후 복사

如果您想要更大的字母数字字符串并希望它们具有固定长度(例如 40 个字符或 100 个字符)怎么办?在这种情况下,我们可以创建一个循环,不断附加生成的字符串,直到达到所需的长度。

function max_random_number(max) {
  return Math.floor(Math.random() * max);
}

function get_random_string(length) {
  let random_string = '';
  while(random_string.length < length) {
   random_string += max_random_number(Number.MAX_SAFE_INTEGER).toString(36);
  }
  return random_string.substring(0, length);
}

console.log(get_random_string(40));
// Outputs: bn0nfhcsjm18ylzqrm6bo1iktka2aq7qbbl5ybki

console.log(get_random_string(100));
// Outputs: rdosjhthsevmk91mj9zvqexz2z0v3pe2beasbzoworanzjg3bfpf975rzfy2fmo6pmj4p69u0x80ce92jh2vljx90g6r0lzd8vb0
로그인 후 복사

最终想法

在本教程中,我们学习了如何在 JavaScript 中生成随机数和字母数字字符串。借助 Math.random() 方法,在 JavaScript 中生成随机整数很容易。我们所要做的就是缩放输出,使其符合我们所需的范围。如果您希望随机数具有加密安全性,您还可以考虑使用 getRandomValues() 方法。

一旦我们知道如何生成随机数,创建随机字母数字字符串就很容易了。我们需要做的就是弄清楚如何将数字转换为字符。我们在这里使用了两种方法。第一个涉及访问预定义字符串中随机数字索引处的字符。如果您想具体了解随机字母数字字符串中应包含的字符,则此技术非常有用。另一种方法涉及使用 toString() 方法将十进制数转换为不同的基数。这减少了对 max_random_number() 函数的调用。

当然还有更多技术可用于生成随机字母数字字符串。这完全取决于您的需求以及您想要的方法的创意程度。

위 내용은 JavaScript에서 난수 및 문자열 생성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PHP에서 int형을 문자열로 변환하는 방법에 대한 자세한 설명 PHP에서 int형을 문자열로 변환하는 방법에 대한 자세한 설명 Mar 26, 2024 am 11:45 AM

PHP에서 int 유형을 문자열로 변환하는 방법에 대한 자세한 설명 PHP 개발에서 int 유형을 문자열 유형으로 변환해야 하는 경우가 종종 있습니다. 이 변환은 다양한 방법으로 수행할 수 있습니다. 이 기사에서는 독자의 이해를 돕기 위해 특정 코드 예제와 함께 몇 가지 일반적인 방법을 자세히 소개합니다. 1. PHP 내장 함수 strval()을 사용하세요. PHP는 다양한 유형의 변수를 문자열 유형으로 변환할 수 있는 내장 함수 strval()을 제공합니다. int형을 string형으로 변환해야 할 때,

Golang에서 문자열이 특정 문자로 시작하는지 확인하는 방법은 무엇입니까? Golang에서 문자열이 특정 문자로 시작하는지 확인하는 방법은 무엇입니까? Mar 12, 2024 pm 09:42 PM

Golang에서 문자열이 특정 문자로 시작하는지 확인하는 방법은 무엇입니까? Golang으로 프로그래밍할 때 문자열이 특정 문자로 시작하는지 확인해야 하는 상황에 자주 직면하게 됩니다. 이 요구 사항을 충족하기 위해 Golang의 문자열 패키지에서 제공하는 기능을 사용할 수 있습니다. 다음에는 Golang을 사용하여 문자열이 특정 문자로 시작하는지 확인하는 방법을 구체적인 코드 예제와 함께 자세히 소개하겠습니다. Golang에서는 strings 패키지의 HasPrefix를 사용할 수 있습니다.

Golang 문자열이 지정된 문자로 끝나는지 확인하는 방법 Golang 문자열이 지정된 문자로 끝나는지 확인하는 방법 Mar 12, 2024 pm 04:48 PM

제목: Golang에서 문자열이 특정 문자로 끝나는지 확인하는 방법 Go 언어에서는 문자열을 처리할 때 문자열이 특정 문자로 끝나는지 확인해야 하는 경우가 있습니다. 이 기사에서는 Go 언어를 사용하여 이 기능을 구현하는 방법을 소개하고 참조용 코드 예제를 제공합니다. 먼저 Golang에서 문자열이 지정된 문자로 끝나는지 확인하는 방법을 살펴보겠습니다. Golang의 문자열에 포함된 문자는 인덱싱을 통해 얻을 수 있으며, 문자열의 길이는 다음과 같습니다.

python_python 반복 문자열 튜토리얼에서 문자열을 반복하는 방법 python_python 반복 문자열 튜토리얼에서 문자열을 반복하는 방법 Apr 02, 2024 pm 03:58 PM

1. 먼저 pycharm을 열고 pycharm 홈페이지로 들어갑니다. 2. 그런 다음 새 Python 스크립트를 생성하고 마우스 오른쪽 버튼을 클릭하고 새로 만들기를 클릭한 후 Pythonfile을 클릭합니다. 3. 문자열(코드: s="-")을 입력합니다. 4. 그런 다음 문자열의 기호를 20번 반복해야 합니다(코드: s1=s*20). 5. 인쇄 출력 코드(코드: print(s1))를 입력합니다. 6. 마지막으로 스크립트를 실행하면 하단에 반환 값이 표시됩니다. - 20번 반복됩니다.

PHP 문자열 조작: 공백을 효과적으로 제거하는 실용적인 방법 PHP 문자열 조작: 공백을 효과적으로 제거하는 실용적인 방법 Mar 24, 2024 am 11:45 AM

PHP 문자열 작업: 공백을 효과적으로 제거하는 실용적인 방법 PHP 개발 시 문자열에서 공백을 제거해야 하는 상황에 자주 직면하게 됩니다. 공백을 제거하면 문자열이 더 깔끔해지고 후속 데이터 처리 및 표시가 쉬워집니다. 이 기사에서는 공백을 제거하는 몇 가지 효과적이고 실용적인 방법을 소개하고 구체적인 코드 예제를 첨부합니다. 방법 1: PHP 내장 함수인 Trim()을 사용합니다. PHP 내장 함수인 Trim()을 사용하면 문자열 양쪽 끝의 공백(공백, 탭, 개행 등 포함)을 제거할 수 있어 매우 편리하고 쉽습니다. 사용.

문자열의 마지막 두 문자를 삭제하는 PHP 기술 문자열의 마지막 두 문자를 삭제하는 PHP 기술 Mar 23, 2024 pm 12:18 PM

웹 애플리케이션 개발에 널리 사용되는 스크립팅 언어로서 PHP는 매우 강력한 문자열 처리 기능을 가지고 있습니다. 일상적인 개발 과정에서 문자열, 특히 문자열의 마지막 두 문자를 삭제해야 하는 작업을 자주 접하게 됩니다. 이 기사에서는 문자열의 마지막 두 문자를 삭제하는 두 가지 PHP 기술을 소개하고 구체적인 코드 예제를 제공합니다. 팁 1: substr 함수 사용 PHP의 substr 함수는 문자열의 일부를 반환하는 데 사용됩니다. 문자열과 시작 위치를 지정하여 쉽게 문자를 제거할 수 있습니다.

PHP에서 문자열을 부동 소수점으로 변환하는 방법 PHP에서 문자열을 부동 소수점으로 변환하는 방법 Mar 27, 2024 pm 12:48 PM

문자열을 부동 소수점 숫자로 변환하는 것은 PHP에서 일반적인 작업이며 내장된 메서드를 통해 수행할 수 있습니다. 먼저 문자열이 부동 소수점 숫자로 성공적으로 변환되기 전에 올바른 부동 소수점 형식인지 확인하십시오. 다음은 PHP에서 문자열을 부동 소수점 숫자로 변환하는 방법을 자세히 소개하고 구체적인 코드 예제를 제공합니다. 1. (부동) 캐스트 사용 PHP에서 문자열을 부동 소수점 숫자로 변환하는 가장 간단한 방법은 캐스트를 사용하는 것입니다. 강제 변환하는 방법은 문자열 앞에 (float)을 추가하는 것이며, PHP가 자동으로 변환합니다.

PHP 문자열 작업: 추가 쉼표를 제거하고 쉼표만 유지 구현 팁 PHP 문자열 작업: 추가 쉼표를 제거하고 쉼표만 유지 구현 팁 Mar 28, 2024 pm 03:02 PM

PHP 문자열 작업: 추가 쉼표를 제거하고 쉼표만 유지 구현 팁 PHP 개발에서 문자열 처리는 매우 일반적인 요구 사항입니다. 때로는 추가 쉼표를 제거하고 유일한 쉼표를 유지하기 위해 문자열을 처리해야 할 때도 있습니다. 이 기사에서는 구현 기술을 소개하고 구체적인 코드 예제를 제공하겠습니다. 먼저 일반적인 요구 사항을 살펴보겠습니다. 여러 개의 쉼표가 포함된 문자열이 있고 추가 쉼표를 제거하고 고유한 쉼표만 유지해야 한다고 가정합니다. 예를 들어, "apple,ba"를 바꿉니다.

See all articles