js 무 작위 고정 길이 문자열 생 성 간편 한 방법
필요 에 부 딪 혔 습 니 다: js 로 고정 길이 의 문자열 을 만 듭 니 다.인터넷 에서 많은 자 료 를 찾 았 는데, 인터넷 의 방법 은 모두 비교적 번거롭다.나 자신 이 영광 을 나타 내 자 비교적 간단 한 방법 을 실현 했다.나중에 개발 할 때 참고 할 수 있 도록 기록 해 두 면 다른 사람 에 게 도 도움 이 될 것 이 라 고 믿 습 니 다.
js 무 작위 문자열 생 성
js 무 작위 문자열 생 성
//
const randStr = () => Math.random().toString(36).substr(2);
브 라 우 저 개발 자 도구 입력 5 회, 출력 은 다음 과 같 습 니 다.
"4cc9gd4sbwd"
"ox9r8g6g7h"
"fejq6b7up7e"
"c1w7r88tnx"
"cokjhpxsycq"
"jn5eue1vmp"
문자열 은 무 작위 이지 만 길이 가 고정 되 어 있 지 않 습 니 다.
길이 고정 문자열 생 성
어제 js 함수 식 프로 그래 밍 을 배 웠 기 때문에 영감 이 떠 올 랐 습 니 다. 재 귀 하 는 방법 을 이용 하여 함수 하 나 를 입력 하여 하나의 문자열 을 원 하 는 길이 로 간편 하 게 바 꾸 었 습 니 다.
// len
const supplyFunc = (str, len) => {
if(str.length > len) return str.substr(0, len);
if(str.length < len) return supplyFunc(str + randStr(), len);
return str;
}
논 리 는:
그 다음 에 함 수 를 써 서 길 이 를 정의 합 니 다. 예 를 들 어 길이 가 10 인 무 작위 문자열 을 출력 하 는 함수 입 니 다.
// len
const str10 = () => supplyFunc(randStr(), 10);
입력 5 회, 출력 은 다음 과 같 습 니 다:
"y3tas9bqzi"
"2pmi80fs0e"
"i5dcde4g7q"
"uyoa9q3rmj"
"ty7ymuxm0m"
길이 가 10 인 문자열 을 볼 수 있 습 니 다.
간이 암호 화 복호화 함수
그리고 안에 있 는 함 수 는 js 암호 화 복호화 함 수 를 만 들 수 있 습 니 다.
//
const encode = str => str10() + escape(str) + str10();
//
const decode = str => unescape(str.substr(10, str.length - 20));
예 를 들 어 다음 과 같은 시험 을 한다.
encode(' ')
// "qnhbj5yo9k%u9992%u5934%u52A0%u68A8%u5B50069keq6dy8"
encode(' ')
// "3vz6tr2shp%u9992%u5934%u52A0%u68A8%u5B50l4f8mva6bn"
encode(' ')
// "f6qqsauzek%u9992%u5934%u52A0%u68A8%u5B505g64gndpuk"
decode("qnhbj5yo9k%u9992%u5934%u52A0%u68A8%u5B50069keq6dy8")
// " "
decode("3vz6tr2shp%u9992%u5934%u52A0%u68A8%u5B50l4f8mva6bn")
// " "
decode("f6qqsauzek%u9992%u5934%u52A0%u68A8%u5B505g64gndpuk")
// " "
암호 화 된 후에 밀 문 은 모두 다 르 지만 복호화 한 후에 모두 '만두 에 배' 이다.
다음으로 전송:https://www.cnblogs.com/yangzhou33/p/9145997.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.