js 무 작위 고정 길이 문자열 생 성 간편 한 방법

2456 단어
개술
필요 에 부 딪 혔 습 니 다: 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;
}

논 리 는:
  • 문자열 길이 가 len 위 치 를 초과 하면 바로 캡 처 하면 됩 니 다.
  • 문자열 의 길이 가 len 비트 에 부족 하면 randstr () 로 무 작위 문자열 을 생 성하 여 연결 한 다음 에 길이 가 len 비트 를 초과 할 때 까지 재 귀적 으로 합 니 다.

  • 그 다음 에 함 수 를 써 서 길 이 를 정의 합 니 다. 예 를 들 어 길이 가 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

    좋은 웹페이지 즐겨찾기