เขียน JavaScript RegExp กับข้อมูล sensitive ให้แสดง 4 ตัวอักษรสุดท้าย

เขียน JavaScript กับข้อมูลที่ sensitive โดยใช้ RegExp เพื่อแสดงบางส่วน เนื่องจากทางผู้เขียนได้รับ requirement ให้ปรับปรุงข้อมูลที่อ่อนไหว ให้แสดงบางส่วน อย่างเช่น เลขบัตรประชาชน

โดยก่อนอื่นจะอธิบายความหมายสัญลักษณ์ RegExp ตัวอย่างเช่น

สัญลักษณ์ความหมาย
.หาตัวอักษรเดียวและยกเว้น newline หรือ line terminator
เช่น คำว่า “Thailand Finland” หากใช้ pattern /./ จะได้ผลลัพธ์ “T”
n{X}นับจำนวนอักษรทั้งหมดตามจำนวน X ตัวอักษร
เช่น คำว่า “Thailand Finland” หากใช้ pattern /.{4}/ จะได้ผลลัพธ์ “Thai”
?=nหาตัวอักษรทั้งหมดทีมี n
เช่น คำว่า “Thailand Finland” หากใช้ pattern /.(?=land)/ จะได้ผลลัพธ์ “i”
gหาตัวอักษรที่ตรงทั้งหมดและจะหยุดเมื่อเจอผลลัพธ์แรก
เช่น คำว่า “Thailand Finland” หากใช้ pattern /.(?=land)/g จะได้ผลลัพธ์ “i,n”

จากตัวอย่างคำว่า “Thailand Finland” หากใช้ pattern /.(?=.{4})/g จะได้ผลลัพธ์ “T,h,a,i,l,a,n,d, ,F,i,n”

จากตัวอย่างคำว่า “1234567890123” หากใช้ pattern /.(?=.{4})/g จะได้ผลลัพธ์ “1,2,3,4,5,6,7,8,9”

จากนั้นใช้ function replace()

Note: To replace all matches, use a regular expression with a /g flag (global match)

จากรูป แสดงการเขียน JavaScript แสดงบางส่วนโดยที่แสดง 4 ตัวอักษรสุดท้าย ส่วนอักษรอื่นเปลี่ยนเป็น x
ผลลัพธ์จากการใช้งานจริง

หวังว่า km จะมีประโยชน์ไม่มากก็น้อยนะคะ

ที่มา https://www.w3schools.com/jsref/jsref_obj_regexp.asp