JSFiddle - React, Tailwind, and code Playground
JavaScript
GetPersonalWithMask = function (OriStr,oPrefix) {
var OutPut = '';
var arr = OriStr.split("");
var arrMatch = [ 0, OriStr.length - 1 ];
var regMail = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
var regMobile = /^(09([0-9]){8})$/;
if (regMobile.test(OriStr))
arrMatch =[0, 1, 2, 7, 8, 9]
else{
if(regMail.test(OriStr)){
OutPut += GetPersonalWithMask(OriStr.split('@')[0], oPrefix) + "@";
var splitstr = OriStr.split('@')[1];
for (var i = 0; i < splitstr.split('.').length; i++)
{
var oStrL = splitstr.split('.')[i];
if (i == 0)
OutPut += GetPersonalWithMask(oStrL, oPrefix);
else
OutPut += '.' + GetPersonalWithMask(oStrL, oPrefix);
}
return OutPut;
}
}
$.each( arr, function(index , value) {
if(jQuery.inArray(index , arrMatch) >= 0)
OutPut+= value;
else
OutPut+= oPrefix;
});
return OutPut;
};
$('body').append(GetPersonalWithMask("a90sd@yahoo.com.tw","*")+'<br/>');
$('body').append(GetPersonalWithMask("a90sd","*")+'<br/>');
$('body').append(GetPersonalWithMask("0915123123","*")+'<br/>');