Js มาสก์สำหรับโทรศัพท์ เราปกปิดและตรวจสอบฟิลด์โทรศัพท์โดยใช้ jQuery จำเป็นต้องสวมหน้ากากทันที
เมื่อเห็นแวบแรก คำตอบก็ชัดเจน: ป้อนช่องหมายเลขโทรศัพท์เป็นข้อกำหนดสำรอง นอกจากนี้ยังมีบางแห่งที่ผู้ใช้สามารถลงชื่อจากไซต์ผ่านช่องแอปพลิเคชันได้ เช่น โปรแกรม ซอฟต์แวร์ เว็บไซต์สำหรับขายเนื้อหา อย่างไรก็ตาม จำนวนลูกค้าสำหรับโครงการดังกล่าวมีความสำคัญในฐานะข้อมูลเพิ่มเติมที่ช่วยให้มีความเป็นไปได้ในการโต้ตอบกับผู้มีโอกาสเป็นลูกค้าในอนาคต ยิ่งไปกว่านั้น เป็นที่ชัดเจนว่าวิธีแก้ปัญหาที่ง่ายและมีประสิทธิภาพที่สุดคือการใช้มาส์ก เรามาพูดถึงกรณีต่างๆ กันดีกว่า
ทำไมจึงต้องมีหน้ากาก?รูปแบบการป้อนข้อมูลจะแสดงรูปแบบที่ต้องป้อนข้อมูลในฟิลด์ ตัวอย่างเช่น หากคุณป้อนหมายเลขโทรศัพท์โดยไม่มีรหัสสถานที่หรือหมายเลขโทรศัพท์ในช่องที่อยู่ คุณจะไม่สามารถนำทางไปยังตำแหน่งที่ต้องการได้ ฟอร์มมาสก์จะให้มุมมองข้อมูลแบบหนึ่งต่อหนึ่ง ทำให้ค้นหาและจัดการฐานข้อมูลได้ง่ายขึ้น ตามคำแนะนำของ Netpeak หน้ากากสำหรับการป้อนหมายเลขโทรศัพท์เป็นองค์ประกอบบังคับของแบบฟอร์มการสั่งซื้อบนเว็บไซต์ อย่างไรก็ตาม คำแนะนำที่เป็นประโยชน์ของผู้จัดการของเรานั้นขึ้นอยู่กับกรณีของลูกค้าที่ประสบความสำเร็จ
เนื่องจากไซต์นี้เชี่ยวชาญด้านโปรแกรม จึงจำเป็นต้องมีฟิลด์สำหรับป้อนหมายเลขบนไซต์ เพื่อให้การเปลี่ยนแปลงเป็นไปได้ ลูกค้ากว่าร้อยรายที่กรอกช่อง "โทรศัพท์" ในแบบฟอร์มคำสั่งซื้อบนเว็บไซต์ เราได้ลงทะเบียนเพื่อเปลี่ยนบัญชีใน Google Analytics ในช่อง "โทรศัพท์" มีลูกค้าเก้ารายที่ไม่ได้กรอกข้อมูลเข้าสู่ระบบ เบิร์ชถูกแจกหน้ากาก และพวกผู้หญิงก็เริ่มใช้มัน เพื่อความบริสุทธิ์ของการทดลอง สนามได้ถอดยางที่จำเป็นสำหรับการเติมออก และไม่มีการเปลี่ยนแปลงอื่นใด
ผลลัพธ์ของ Berezen คือ 19 หมายเลข โดยมีผู้สนับสนุน 22 คนที่กรอกใบสมัคร กล่าวอีกนัยหนึ่ง ลูกค้า 85% ที่ทำโปรแกรมหายสูญเสียหมายเลขโทรศัพท์
เว็บไซต์ของลูกค้าให้บริการเขียนเรียงความ รายวิชา วิทยานิพนธ์ และงานอื่นๆ หมายเลขโทรศัพท์ของผู้สื่อข่าวเป็นสิ่งจำเป็นในการติดต่อ แต่ไม่จำเป็นต้องระบุข้อมูลในช่องนี้ คอริสตุวัคอาจจำแบบฟอร์มหรือเขียนอะไรในช่องนี้ไม่ได้ เช่นเคย ในขั้นตอนแรกเราได้ติดตั้งตัวเลือกในการกรอกข้อมูลในช่อง "โทรศัพท์" ใน Google Analytics ในบรรดารายชื่อแอปพลิเคชัน 59 รายการที่ถูกบล็อกโดยไซต์ มี 15 รายการที่ไม่มีหมายเลข ดังนั้นบริษัทจึงปฏิเสธแบบฟอร์มที่มีหมายเลขทะเบียนเพียง 74.6% เท่านั้น จากนั้นเราก็เพิ่มหน้ากากเพื่อเข้าสู่ช่องโทรศัพท์ เว็บไซต์รับใบสมัคร 60 ใบ ในกรณีนี้ แบบฟอร์มที่กรอกแล้ว 6 รายการจะไม่รวมอยู่ในหมายเลขโทรศัพท์ของลูกค้า นอกจากนี้ 90% ของแบบฟอร์มการชำระเงินที่ส่งมากรอกในช่องโทรศัพท์อย่างถูกต้อง ตลอดทั้งเดือน - เพิ่มขึ้น 15.4% หลังจากเข้ามาสก์ตัวเลข Nasamkinets เป็นคดีภายในของหน่วยงาน
ต้องระบุช่องหมายเลขในแบบฟอร์มคำสั่งซื้อบนเว็บไซต์ Netpeak ด้วย หมายเลขโทรศัพท์ทั้งหมดมีความสำคัญเพื่อให้ลูกค้าทราบหมายเลขและสถานะการสมัครของตนอยู่เสมอ (เราใช้ข้อมูล SMS) ตลอดจนเพิ่มประสิทธิภาพการทำงานของผู้จัดการบัญชี ระยะเวลาของการทดลองเช่นเดียวกับก้นขั้นสูงคือสองเดือน ในช่วงสงคราม หน้ากากสำหรับการป้อนตัวเลขปรากฏขึ้น กรอกแบบฟอร์มหลายร้อยรายการจาก 44% เป็น 83% - 39.4%
หลังจากการทดลอง เราก็ส่งหน้ากากไปที่เว็บไซต์ ไม่จำเป็นต้องมีช่องสำหรับป้อนหมายเลขอีกต่อไป ใบสมัครจะไม่ได้รับการประมวลผลหากป้อนหมายเลขผิดในฟิลด์ ในกรณีนี้ ตัวเลขตัวแรกในมวลจะเปลี่ยนตำแหน่งบนขอบซึ่งอยู่บนเว็บไซต์ ถ้าจะพูดถึงรูปแบบการจ่ายเงินล่วงหน้าก็ต้องรู้ว่าใบสมัครพร้อมเบอร์โทรศัพท์ชัดเจนขนาดไหน เรานำใบสมัครทั้งหมดที่ได้รับผ่านแบบฟอร์มใบสมัครและนับจำนวนหลายร้อยที่ถูกแปลงเป็นลูกค้าโดยไม่มีตัวเลขหรือตัวเลขด้วย ส่วนที่เหลือเพิ่มขึ้นสูงสุด 0.81%
หมายเหตุ: การที่บุคคลให้หมายเลขของตนจากแบบฟอร์มแก่คุณ จึงไม่รับประกันว่าเงินดังกล่าวจะถูกคืนสถานะ
ขณะที่เราพูดถึงรูปแบบของการมีส่วนร่วมในอนาคต ความเป็นไปได้ในการเปิดใช้งานลูกค้าอีกครั้ง ความเป็นไปได้ที่เปิดให้นักการตลาดที่สร้างฐานข้อมูลหมายเลขโทรศัพท์พิเศษของลูกค้า มาถึงเบื้องหน้าแล้ว เราจะเรียนรู้เกี่ยวกับกรณีการเปิดใช้งานอีกครั้งที่ประสบความสำเร็จในโพสต์ใหม่ของเรา ในระหว่างนี้ เรามาอ่านสิ่งที่คุณทำได้ก่อนดำเนินการใดๆ กับหมายเลขโทรศัพท์ในฐานข้อมูลกันดีกว่า แบ่งปันความคิดเห็นที่คุณพึงพอใจกับการใช้รูปแบบการป้อนข้อมูลสำหรับหมายเลขโทรศัพท์และความกังวลเกี่ยวกับจำนวนแอปพลิเคชันที่มาถึง
ปลั๊กอิน jQuery นี้ช่วยให้คุณเลือกรูปแบบการป้อนข้อมูลที่ตรงกันโดยอัตโนมัติตามหมายเลขโทรศัพท์ที่ป้อน วิธีนี้ช่วยให้คุณสร้างหมายเลขโทรศัพท์ที่ด้านข้างของเว็บไซต์สำหรับผู้ที่เคยเห็นและ bezpomilkovym นอกจากนี้ การแบ่งย่อยของปลั๊กอินอาจแตกต่างกันในพื้นที่อื่นๆ เนื่องจากกฎการเข้าสามารถนำเสนอในรูปแบบของมาสก์การเข้าหลายรายการ
การเข้าสู่เว็บไซต์จำเป็นต้องป้อนข้อมูลเกี่ยวกับหมายเลขโทรศัพท์ มันจึงเกิดขึ้นที่แต่ละประเทศมีสิทธิที่จะกำหนดกฎของตนเองในการโทรไปยังหมายเลขเดียวกันซึ่งเป็นผลมาจากความสับสนที่เกิดขึ้นเป็นระยะ ๆ ระหว่างผู้อยู่อาศัยในประเทศต่าง ๆ บางคนเรียกว่าหมายเลขที่มีเลขหลัก 8 นำหน้า อื่น ๆ - มีหมายเลขเดียวคือ 0 และตัวที่สามคือเครื่องหมาย + แนวทางแก้ไขหลัก เพื่อลดความซับซ้อนของปัญหาและนำตัวเลขมาเป็นรูปแบบเดียว มีวิธีแก้ไขหลัก 3 วิธี คือจากข้อเท็จจริงที่ว่าจำนวนประเทศในโลกมีขนาดเล็กมาก จึงได้ตัดสินใจรวบรวมรายชื่อหน้ากากอนามัยสำหรับทุกประเทศ ตามความเป็นจริง รายงานข่าวที่เผยแพร่บนเว็บไซต์ของสหภาพโทรคมนาคมไฟฟ้าระหว่างประเทศได้รับการตรวจสอบอย่างกว้างขวาง
การรวบรวมข้อมูลนี้ทำให้เกิดความประหลาดใจมากมาย ในกระบวนการรวบรวมข้อมูล จำเป็นต้องรวมตัวเลือกที่เป็นไปได้ทั้งหมดสำหรับหมายเลขโทรศัพท์ในภูมิภาค อย่างไรก็ตาม เนื่องจากข้อมูลที่รวบรวมด้วยตนเองจำนวนมาก จึงเป็นไปได้ที่ฐานข้อมูลที่รวบรวมจะมีความไม่ถูกต้องเกิดขึ้น มีการวางแผนที่จะแก้ไขชุดซังในหนึ่งชั่วโมง
การนำซอฟต์แวร์ไปใช้ แกนหลักของอินพุตมาสก์คือการนำ jquery.inputmask ไปใช้จริง ซึ่ง Habrahabr ได้พูดคุยกันมากมาย ขณะนี้ปลั๊กอินนี้กำลังได้รับการพัฒนาอย่างแข็งขันและได้รับการออกแบบในลักษณะที่ทำให้ง่ายต่อการเขียนส่วนขยาย อย่างไรก็ตามงานเขียนส่วนขยายดังกล่าวกลับกลายเป็นว่าเป็นไปไม่ได้เลย ฉันเริ่มปรับปรุงและเขียนปลั๊กอินเอาต์พุตใหม่เพื่อให้เหมาะกับความต้องการของฉัน เพราะ... เนื่องจากผู้เขียนยังคงทำงานอย่างแข็งขันเพื่อขยายฟังก์ชันการทำงาน ผลลัพธ์ของการแก้ไขของฉันที่ซบเซาอาจเป็นปัญหาได้ นั่นเป็นเหตุผลที่ฉันมีโอกาสเขียนปลั๊กอินบนแกนหลักที่จัดการ (และแทนที่) กิจกรรมภายนอกและทำการแก้ไขข้อมูล ในการถ่ายโอนตัวประสานอินพุตใหม่ไปยังตัวเลือกของปลั๊กอินหลัก ให้ใช้ jquery.bind-first Plugin-library เมื่อพัฒนากฎการเรียงลำดับความคิดต่อไปนี้จะถูกนำมาใช้:ด้วยเหตุนี้ กฎการเรียงลำดับต่อไปนี้จึงเกิดขึ้นตามลำดับการจำแนกประเภท:
- การกดปุ่มลง - ตามด้วยการกดปุ่ม Backspace และ Delete - โดยการเปลี่ยนโฟลว์มาสก์ที่ป้อนก่อนหน้านี้ เนื่องจากโปรเซสเซอร์หลักจะลบอักขระหนึ่งตัวออกจากข้อความ นอกจากนี้ คุณต้องกดปุ่ม Insert ซึ่งจะเปลี่ยนโหมดป้อนข้อความสำหรับการซิงโครไนซ์
- การกดปุ่ม - ส่วนของอักขระที่จะป้อนอาจไม่ได้รับอนุญาตโดยรูปแบบการป้อนข้อมูลดั้งเดิม (อักขระที่สำคัญทั้งหมดในนั้นจะถูกแทนที่ด้วยเทมเพลต) คุณต้องตรวจสอบแถวใหม่เพื่อให้ตรงกับหนึ่งในมาสก์ที่อนุญาต หากไม่มีมาสก์ดังกล่าว อินพุตของสัญลักษณ์จะถูกละทิ้ง มิฉะนั้น มาสก์อินพุตจะถูกอัปเดต หลังจากนั้นอินพุตจะถูกโอนไปยังเครื่องวิเคราะห์เคอร์เนล
- วาง, อินพุต - วางข้อความจากคลิปบอร์ด ก่อนที่จะถ่ายโอนการประมวลผลไปยังเคอร์เนล จะมีการเลือกมาสก์สำหรับแถวที่เป็นผลมาจากการวางข้อความจากคลิปบอร์ด เมื่อไม่ได้เลือกรูปแบบการป้อนข้อมูล ข้อความจะถูกตัดอักขระทีละอักขระตั้งแต่ตอนท้ายจนกระทั่งข้อความพอใจกับรูปแบบการป้อนข้อมูลเดียว การดำเนินการที่คล้ายกันนี้จะดำเนินการเมื่อข้อความในช่องป้อนข้อมูลได้รับการแก้ไขโดยการคลิกฟังก์ชัน val() รวมถึงเมื่อมีการเตรียมใช้งานรูปแบบการป้อนข้อมูล เนื่องจากถูกตั้งค่าเป็นช่องป้อนข้อมูล
- Dragdrop, Drop - กระบวนการนี้คล้ายกับการวาง
- เบลอ - การประมวลผลเพิ่มเติมเพื่อจุดประสงค์เนื่องจากโหมดการล้างข้อความเมื่อสูญเสียโฟกัสจะเพิ่มขึ้นเนื่องจากไม่เป็นไปตามรูปแบบการป้อนข้อมูล แนวคิดนี้ถูกถ่ายโอนหลังจากคอมไพเลอร์หลักไปยังด้านบนสุดของส่วนหน้า
แนวคิดทั้งหมดจะแสดงภายในขอบเขตของรูปแบบที่ป้อน สิ่งนี้ช่วยให้คุณหลีกเลี่ยงพฤติกรรมที่ไม่ถูกต้องเมื่อคลิกที่อินพุตมาสก์หลังจากการกำหนดค่าเริ่มต้นของอินพุต (เนื่องจากเคอร์เนลเมื่อเริ่มต้นจะจดจำโพรบที่ติดตั้งไว้ก่อนหน้านี้ทั้งหมดในพื้นที่อินพุตมาสก์)
ตัวอย่างรูปแบบวิกิของรายการมาสก์ รายการมาสก์คืออาร์เรย์ของอ็อบเจ็กต์ JavaScript ซึ่งมีความสำคัญด้วยชุดพลังที่แตกต่างกัน อย่างน้อยหนึ่งกำลังซึ่งใช้วางรูปแบบการป้อนข้อมูลอาจมีอยู่ในวัตถุทั้งหมดในอาร์เรย์ ชื่อของพารามิเตอร์ที่จะใช้มาสก์อาจเพียงพอแล้ว ด้านล่างนี้เป็นส่วนของอาร์เรย์ดังกล่าว:[ … ( "mask": "+7(###)###-##-##", "cc": "RU", "name_en": "รัสเซีย", "desc_en": "", " name_ua": "รัสเซีย", "desc_ua": "" ), ( "mask": "+250(###)###-###", "cc": "RW", "name_en": " รวันดา", "desc_en": "", "name_ru": "รวันดา", "desc_ru": "" ), ( "mask": "+966-5-####-####", "cc ": "SA", "name_en": "ซาอุดีอาระเบีย", "desc_en": "mobile", "name_ru": "ซาอุดีอาระเบีย", "desc_ru": "mobile" ), ( "mask": "+966- #-###-####", "cc": "SA", "name_en": "ซาอุดีอาระเบีย", "desc_en": "", "name_ru": "ซาอุดีอาระเบีย", "desc_ru": " " ), … ] พารามิเตอร์การเชื่อมต่อปลั๊กอิน ก่อนเชื่อมต่อ คุณต้องเลือกและจัดเรียงรายการมาสก์ สิ่งสำคัญคือต้องหลีกเลี่ยงหน้าที่รุกของ Vikons:
$.masksSort = function(maskList, defs, match, key)
- maskList - อาร์เรย์ของวัตถุที่บันทึกมาสก์อินพุต (ส่วนของวัตถุมหัศจรรย์)
- defs – อาร์เรย์ของสัญลักษณ์เทมเพลต (ในกรณีของฉัน นี่คือสัญลักษณ์ #)
- match - นิพจน์ทั่วไปที่อธิบายอักขระสำคัญ (ในกรณีนี้คือ /|#/)
- คีย์ – ชื่อของพารามิเตอร์วัตถุในอาร์เรย์เพื่อวางรูปแบบอินพุต
เมื่อเชื่อมต่อแล้ว ปลั๊กอินจะถูกส่งผ่านวัตถุพิเศษที่อธิบายหุ่นยนต์ของมัน ออบเจ็กต์นี้มีชุดพารามิเตอร์ต่อไปนี้:
- inputmask - วัตถุที่มีพารามิเตอร์ที่ส่งผ่านไปยังปลั๊กอิน inputmask หลัก
- จับคู่ - นิพจน์ทั่วไปที่อธิบายอักขระที่มีความหมายนอกเหนือจากเทมเพลต
- แทนที่ - อักขระตัวแทนที่แทนที่อักขระสำคัญทั้งหมด อาจอยู่ในวัตถุของวัตถุที่กำหนดใน putmask;
- รายการ – อาร์เรย์ของวัตถุเพื่ออธิบายรูปแบบการป้อนข้อมูล
- listKey – ชื่อของพารามิเตอร์ที่อยู่ตรงกลางของวัตถุที่บันทึกรูปแบบการป้อนข้อมูล
- onMaskChange - ฟังก์ชั่นที่ถูกเรียกเมื่อมีการอัพเดตรูปแบบการป้อนข้อมูล เมื่อพารามิเตอร์แรกถูกส่งผ่านไปยังออบเจ็กต์ในอาร์เรย์ รูปแบบการป้อนข้อมูลของแต่ละรายการจะตรงกับข้อความที่ป้อน และอีกรูปแบบหนึ่ง - ความแม่นยำของรูปแบบที่กำหนด: จริง - รูปแบบการป้อนข้อมูลตรงกับรูปแบบการป้อนข้อมูล เท็จ - เพื่อความน่าเชื่อถือ ค่าของมาสก์ ต้องป้อนอักขระเพิ่มเติม
ในการเริ่มต้นปลั๊กอิน คุณต้องวางวิธีการพรางการป้อนข้อมูลไว้หน้าช่องป้อนข้อมูล:
$.fn.inputmasks = ฟังก์ชั่น (maskOpts, โหมด)
- maskOpts - วัตถุที่อธิบายการทำงานของปลั๊กอิน
- โหมด - ไม่ใช่ภาษา ในขณะนี้ รองรับค่า isCompleted แล้ว - เป็นผลให้เมธอดกลายเป็นจริงหากมีการเพิ่มข้อความในมวลอินพุตและเป็นเท็จในอีกกรณีหนึ่ง
อินพุตมาสก์ var maskList = $.masksSort($.masksLoad("phone-codes.json"), ["#"], /|#/, "mask"); var maskOpts = ( inputmask: ( คำจำกัดความ: ( "#": ( เครื่องมือตรวจสอบ: "", จำนวนสมาชิก: 1 ) ), //clearIncomplete: true, showMaskOnHover: false, autoUnmask: true ), match://, แทนที่: "# ", list: maskList, listKey: "mask", onMaskChange: function(maskObj, เสร็จสิ้น) ( if (เสร็จสมบูรณ์) ( var tips = maskObj.name_ru; if (maskObj.desc_ru && maskObj.desc_ru != "") ( Hint + = "(" + maskObj.desc_uk + ")"; ) $("#descr").html(คำใบ้); else ( $("#descr").html("Input mask"); ) $(this ) .attr("placeholder", $(this).inputmask("getemptymask") ); $("#phone_mask").change(function() ( if ($("#phone_mask").is(":checked")) ( $("#customer_phone").inputmasks(maskOpts); ) else ( $ ("#customer_phone").inputmask("+[###################]], maskOpts.inputmask) .attr("placeholder", $("# customer_phone ").inputmask("getemptymask")); $("#descr").html("Input mask"); ) )); $("#phone_mask").change(); การสาธิต ตัวอย่างของการสาธิต เปิดปลั๊กอินมุมมองแบบขยายแล้ว