다들 웹 사이트에서 내 아이디나 이메일이 ok*****@gmail.com 이런식으로 *표로 표시되는 것은 본 적이 있을 것이다.
보안적으로 요청사항이 들어와서 (비록 DB털리면 다 털리겠지만) 작업했는데,
간지나게 하고 싶어서 정규식 찾아봤는데.... ㅠㅠ 해탈했다.
진짜 정규식은 1도 모르겠다.
도움을 얻어서 간지나는 법을 찾았는데...
JS
userEmail = 'abcdefg@gmail.com';
var id =userEmail.split("@")[0].replace(/(?<=.{1})./gi,"*");
var mail =userEmail.split("@")[1].replace(/(?=.{2})./gi,"*");
userEmail= id+"@"+mail;
alert(userEmail);
결과를 보면
id는 a*****으로 나오고 mail은 ******m으로 나온다.
요청사항이 a*****@********m이었기 때문에 저렇게하는 방법을 찾아봤다.
출처는 아래 주소이며 나는 이 출처를 통해 배움을 얻은 분에게 카페 답변으로 코드를 받았다.<-
http://8boknote.tistory.com/98
근데!!!!!!!!!
사파리에서 정규식이 안 먹더라... ?<= 이 부분에서 문법 에러 탁탁 뱉던데...
내가 작성한 정규식이 아니라서 고치기 뭐했다.. (물론 못 고침)
그러면서 그냥 간지를 버렸다.
시간도 촉박...
// 이메일 마스킹 처리
function emailSecurity(userEmail){
var id = userEmail.split('@')[0];
var mail = userEmail.split('@')[1];
var maskingId = function(id){
var splitId = id.substring(0,1);
for(var i = 1; i < id.length; i++){
splitId += '*';
}
return splitId;
};
var maskingMail = function(mail){
var splitMail = '';
for(var i = 1; i < mail.length; i++){
splitMail += '*';
}
splitMail += mail.substring(mail.length-1,mail.length);
return splitMail;
};
userEmail = maskingId(id) + '@' + maskingMail(mail);
return userEmail;
}
'Javascript' 카테고리의 다른 글
자동으로 연도 변경하여 삽입하기 (0) | 2018.10.23 |
---|---|
마우스 휠로 전체 페이지 영역 넘기기 (0) | 2018.10.23 |
three.js 라이브러리 공부하기 (0) | 2018.10.16 |
마우스 휠로 input 숫자 값 변경하기 (0) | 2018.10.16 |
최소사이즈 체크하기 (0) | 2018.10.02 |
.serialize(); 시에 checkbox 값 ajax 전송되지 않는 이슈 (0) | 2018.10.02 |
jquery placeholder.js 플러그인 (0) | 2018.10.02 |
fingerPrint2.js 라이브러리 사용(브라우저 지문) (4) | 2018.10.01 |