이 기사의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터.
지난 며칠간 작업한 "은행카드" 페이지의 프로토타입은 다음과 같습니다. 그 중 각 은행카드의 카드번호 마지막 4자리만 표시되고 그 외의 번호는 *로 숨겨집니다. 문자.
프런트엔드와 소통한 후 번호를 숨기겠습니다. 이는 PHP의 문자열 대체 substr_replace 함수를 사용합니다.
PHP 문자열 교체는 이름에서 알 수 있듯이 문자열에서 지정된 문자열을 바꾸는 데 사용됩니다.
관련 함수는 다음과 같습니다.
substr_replace( )——문자열의 일부를 다른 문자열로 바꾸기
str_replace( )——하나의 문자열을 사용하여 문자열의 다른 문자를 대체합니다
1. substr_replace()
구문:
substr_replace(string,replacement,start,length)
Parameters | Description |
---|---|
string | 필수입니다. 확인할 문자열을 지정합니다. |
교체 | 필수입니다. 삽입할 문자열을 지정합니다. |
start |
필수입니다. 문자열에서 대체를 시작할 위치를 지정합니다.
|
length |
교체 선택 사항입니다. 대체할 문자 수를 지정합니다. 기본값은 문자열 길이와 동일합니다.
|
반환 값 | 대체된 문자열 반환 |
2 .str_replace()
구문:
str_replace(find,replac,string,count)
parameter | description |
---|---|
find | 필수입니다. 찾을 값을 지정합니다. |
replace | 필수입니다. find의 값을 대체할 값을 지정합니다. |
string | 필수입니다. 검색할 문자열을 지정합니다. |
count | 선택사항입니다. 대체 횟수를 계산하는 변수입니다. |
반환 값 | 대체 값으로 문자열 또는 배열을 반환 |
위 내용은 문자열 치환 substr_replace(), str_replace() 함수에 대한 기본 지식 포인트이므로 실제 작업에서는 첫 번째 one-substr_replace() 함수를 사용했습니다.
[추천: PHP 동영상 튜토리얼]
문의해본 결과 현재 국내 은행카드 길이가 16자리 또는 19자리라는 것을 알게 되었기 때문에 데이터 테이블에서 은행카드 번호를 확인한 후 먼저 strlen()을 사용합니다. 함수 문자열의 길이를 셉니다.
은행 카드가 16자리인 경우 처음 12자리는 12*로 대체됩니다. 즉, 대체되는 숫자는 ************입니다.
은행 카드가 19자리인 경우 첫 번째 15 숫자는 15 *로 대체됩니다. 즉, 대체는 ****************입니다.
코드는 다음과 같습니다.
테스트 효과는 다음과 같습니다. 다음과 같습니다: