JS實現(xiàn)將手機號中間的幾位數(shù)字變成****功能
今天,我們要實現(xiàn)一個很常見并且簡單的功能:將手機號中間的幾位數(shù)變成****
這個功能其實很常見,比如我們微信的賬號安全里面顯示的手機號、掘金的賬號設(shè)置里面顯示的手機號、支付寶里面的證件號碼、各大銀行的App卡號.....還有很多有關(guān)系到我們私密的地方,在此就不一一例舉了,看似簡單的功能,我們該如何實現(xiàn)呢?
其實實現(xiàn)的方法有很多,在這里作者將使用js的方式來實現(xiàn),如有不正確或者需要修改的地方,請多多指教,有更好的方法也可以留言~
下面所使用到的方法,相信學(xué)習(xí)過javaScript的小伙伴們都非常熟悉,但是你還記得他們的用法嘛?下面作者會對使用到的方法進行簡單回顧,不太記得的小伙伴要去回顧一下了呢~
好了,廢話少說,開始進入正題。
1. 第一種,使用字符串和數(shù)組中常見的幾個方法。字符串方法:split()。數(shù)組方法:splice(),join()。
在實現(xiàn)之前,我們先一起來回顧一下這幾個方法:
- split(): 將一個字符串拆分為一個子字符串?dāng)?shù)組,并返回該數(shù)組。
注釋:該方法返回新數(shù)組,不會更改原始字符串。 注意:如果("")用作分隔符,則會對字符串進行逐個字符拆分。 www.w3school.com.cn/jsref/jsref…
下面是一個例子
const str = “hello” let arr = str.split(""); console.log(arr); // h,e,l,l,o
- splice():方法向數(shù)組添加或從數(shù)組中刪除項目,并返回刪除的項目。
注釋:splice()
該方法會改變原始數(shù)組。www.w3school.com.cn/jsref/jsref…
下面是一個例子:
const arr = ["a","b","c","d"]; arr.splice(1,2,"e","gg","d"); //從數(shù)字索引的第一位開始,刪除兩個內(nèi)容,向數(shù)組添加”e“和”gg“兩項。 console.log(arr); // ["a","e","gg","d"];
- join():將數(shù)組作為一個字符串返回。元素將由指定的分隔符分隔。默認分隔符是逗號 (,)。
注釋:join()
該方法不會改變原數(shù)組
下面是一個例子:
const arr = ['a','b','c','d']; let result = arr.join(); console.log(result); // a,b,c,d
實現(xiàn)功能:
const telphone = '13300009999'; let telArr = telphone.split(); telArr.splice(3,4,'****'); let result = telArr.join(); //因為不會改變原數(shù)組,需要用一個新的變量去接收 console.log(result); // 1330****999
2.第二種,利用字符串的substr()
- substr():該方法用于提取字符串的一部分。該方法從指定位置開始,并返回指定數(shù)量的字符。
注釋:substr()
方法不會更改原始字符串。 下面是一個例子:
const str = 'Hello World'; let result = str.substr(1,4); console.log(result); //ello
實現(xiàn)功能:
const telphone = '13300009999'; let result = telphone.substr(0,4) + '****' + telphone.substr(8); console.log(result);// 1330****999 //第二句代碼解釋: //使用 `substr` 方法截取電話號碼的前四位,然后拼接上'****', //再拼接上電話號碼從索引為8開始的剩余部分,將結(jié)果賦值給變量result。
3.第三種,利用字符串的substring()和replace();
- substring():該方法用于從字符串中提取指定的索引(位置)之間的字符,并返回子字符串。 注釋:
substring()
方法不會更改原始字符串。 下面是一個例子:
const str = 'Hello World'; let result = str.substring(1,4); console.log(result); //ell
- replace():該方法在字符串中搜索值或正則表達式;該方法返回已替換值的新字符串。
注釋:replace()
方法不會更改原始字符串。 下面是一個例子:
const str = 'Hello World'; let result = str.replace("Hello","Hi"); console.log(result); //Hi World
實現(xiàn)功能:
const telphone = '13300009999'; let result = telphone.replace(telphone.substring(3,8),'****'); console.log(result);// 1330****999
上述的replace()提到了正則表達式,那么我們也可以使用正則表達式來實現(xiàn)www.w3school.com.cn/jsref/jsref… www.w3school.com.cn/js/js_regex…
- /d:查找數(shù)字
- 1,1,1,2,...,$99:與正則規(guī)則中的第1到第99個子表達式相匹配的文本。
實現(xiàn)功能:
const telphone = '13300009999'; const reg = /(\d{4})\d{4}(\d{3})/; let result = telphone.replace(reg,"$1****$2"); console.log(result);// 1330****999
到此這篇關(guān)于用js如何實現(xiàn)將手機號中間的幾位數(shù)字變成****的文章就介紹到這了,更多相關(guān)js手機號中間的幾位數(shù)字變成****內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JavaScript數(shù)組排序的六種常見算法總結(jié)
這篇文章主要給大家介紹了關(guān)于JavaScript數(shù)組排序的六種常見算法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者使用JavaScript數(shù)組具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08JavaScript函數(shù)執(zhí)行、作用域鏈以及內(nèi)存管理詳解
這篇文章主要介紹了JavaScript函數(shù)執(zhí)行、作用域鏈以及內(nèi)存管理的知識,文章內(nèi)容非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01JavaScript中json數(shù)組查找數(shù)據(jù)的幾種方式(含模糊查找)
這篇文章主要給大家介紹了關(guān)于JavaScript中json數(shù)組查找數(shù)據(jù)的幾種方式,文中包括模糊查找,文中給出了詳細的代碼示例,對大家學(xué)習(xí)或者使用json具有一定的參考借鑒價值,需要的朋友可以參考下2023-09-09JS中for...in?和?for...of?的區(qū)別解析
for?…?in?用于迭代對象的可枚舉字符串屬性,包括自身屬性和繼承的屬性,但不會遍歷對象的原型鏈上的?非可枚舉屬性,以及對象的方法,這篇文章主要介紹了JS中for...in?和?for...of?的區(qū)別,需要的朋友可以參考下2024-03-03