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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

뜨거운 주제











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

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

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

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

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

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

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

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