ด้านล่างนี้คือนิพจน์ทั่วไปบางส่วนที่ใช้กันทั่วไปที่ฉันรวบรวมไว้ เนื่องจากอาจใช้บ่อยกว่าในระหว่างการตรวจสอบความถูกต้องของแบบฟอร์ม ออกเป็นพิเศษเพื่อให้เพื่อนๆทุกคนได้ใช้ร่วมกัน อิอิ
นิพจน์ทั่วไปเพื่อให้ตรงกับตัวอักษรจีน: [u4e00-u9fa5]
ความคิดเห็น: การจับคู่ภาษาจีนเป็นเรื่องที่น่าปวดหัวจริงๆ ด้วยสำนวนนี้ มันจะง่ายขึ้น
จับคู่อักขระแบบไบต์คู่ (รวมถึงอักขระจีน): [^x00-xff]
หมายเหตุ: สามารถใช้คำนวณความยาวของสตริงได้ (ความยาวของอักขระแบบไบต์คู่นับเป็น 2 และความยาวของอักขระ ASCII นับเป็น 1)
นิพจน์ทั่วไปเพื่อจับคู่บรรทัดว่าง: ns*r
หมายเหตุ: สามารถใช้ลบบรรทัดว่างได้
นิพจน์ทั่วไปที่ตรงกับแท็ก HTML: < (S*?)[^>]*>.*?|< .* />
หมายเหตุ: เวอร์ชันที่เผยแพร่บนอินเทอร์เน็ตนั้นแย่เกินไป เวอร์ชันข้างต้นสามารถจับคู่ได้เพียงบางส่วนเท่านั้น และยังไม่มีพลังสำหรับแท็กที่ซ้อนกันที่ซับซ้อน
นิพจน์ทั่วไปที่จับคู่อักขระช่องว่างนำหน้าและต่อท้าย: ^s*|s*$
หมายเหตุ: สามารถใช้เพื่อลบอักขระช่องว่าง (รวมถึงช่องว่าง แท็บ ฟีดแบบฟอร์ม ฯลฯ) ที่จุดเริ่มต้นและจุดสิ้นสุดของบรรทัด เป็นนิพจน์ที่มีประโยชน์มาก
นิพจน์ทั่วไปที่ตรงกับที่อยู่อีเมล: w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
ความคิดเห็น: มีประโยชน์มากสำหรับการตรวจสอบแบบฟอร์ม
นิพจน์ทั่วไปเพื่อให้ตรงกับ URL: [a-zA-z]+://[^s]*
หมายเหตุ: เวอร์ชันที่เผยแพร่บนอินเทอร์เน็ตมีฟังก์ชันที่จำกัดมาก เวอร์ชันข้างต้นสามารถตอบสนองความต้องการโดยทั่วไปได้
บัญชีที่ตรงกันนั้นถูกกฎหมายหรือไม่ (เริ่มต้นด้วยตัวอักษร 5-16 ไบต์ อนุญาตให้ใช้เครื่องหมายขีดล่างตัวอักษรและตัวเลข): ^[a-zA-Z][a-zA-Z0-9_]{4,15}$
ความคิดเห็น: มีประโยชน์มากสำหรับการตรวจสอบแบบฟอร์ม
จับคู่หมายเลขโทรศัพท์ในประเทศ: d{3}-d{8}|d{4}-d{7}
หมายเหตุ: รูปแบบการจับคู่ เช่น 0511-4405222 หรือ 021-87888822
จับคู่หมายเลข Tencent QQ: [1-9][0-9]{4,}
ความคิดเห็น: บัญชี Tencent QQ เริ่มต้นที่ 10,000
จับคู่รหัสไปรษณีย์จีน: [1-9]d{5}(?!d)
หมายเหตุ: รหัสไปรษณีย์ของจีนเป็นตัวเลข 6 หลัก
บัตรประจำตัวที่ตรงกัน: d{15}|d{18}
หมายเหตุ: บัตรประจำตัวประชาชนของจีนมีตัวเลข 15 หรือ 18 หลัก
จับคู่ที่อยู่ IP: d+.d+.d+.d+
ความคิดเห็น: มีประโยชน์เมื่อแยกที่อยู่ IP
จับคู่หมายเลขเฉพาะ:
^[1-9]d*$ //จับคู่จำนวนเต็มบวก
^-[1-9]d*$ //จับคู่จำนวนเต็มลบ
^-?[1-9]d*$ //จับคู่จำนวนเต็ม
^[1-9]d*|0$ //จับคู่จำนวนเต็มที่ไม่ใช่ลบ (จำนวนเต็มบวก + 0)
^-[1-9]d*|0$ //จับคู่จำนวนเต็มที่ไม่ใช่บวก (จำนวนเต็มลบ + 0)
^[1-9]d*.d*|0.d*[1-9]d*$ //จับคู่ตัวเลขทศนิยมที่เป็นบวก
^-([1-9]d*.d*|0.d*[1-9]d*)$ //จับคู่ตัวเลขทศนิยมที่เป็นลบ
^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$ //จับคู่ตัวเลขทศนิยม
^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$ //จับคู่ตัวเลขทศนิยมที่ไม่เป็นลบ (ตัวเลขทศนิยมบวก + 0)
^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$ //จับคู่จำนวนจุดลอยตัวที่ไม่เป็นบวก (จุดลอยตัวติดลบ ตัวเลข + 0 )
หมายเหตุ: มีประโยชน์เมื่อประมวลผลข้อมูลจำนวนมาก โปรดใส่ใจกับการแก้ไขเมื่อนำไปใช้
จับคู่สตริงเฉพาะ:
^[A-Za-z]+$ //จับคู่สตริงที่ประกอบด้วยตัวอักษรภาษาอังกฤษ 26 ตัว
^[AZ]+$ //จับคู่สตริงที่ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์ใหญ่ 26 ตัว
^[az]+$ //จับคู่สตริงที่ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็ก 26 ตัว
^[A-Za-z0-9]+$ //จับคู่สตริงที่ประกอบด้วยตัวเลขและตัวอักษรภาษาอังกฤษ 26 ตัว
^w+$ //จับคู่สตริงที่ประกอบด้วยตัวเลข ตัวอักษรภาษาอังกฤษ 26 ตัว หรือขีดล่าง
ฟังก์ชันการตรวจสอบและนิพจน์การตรวจสอบเมื่อใช้การควบคุมการตรวจสอบ RegularExpressionValidator มีดังต่อไปนี้:
สามารถป้อนได้เฉพาะตัวเลขเท่านั้น: "^[0-9]*$"
สามารถป้อนได้เฉพาะตัวเลข n หลักเท่านั้น: "^d{n}$"
คุณสามารถป้อนได้อย่างน้อย n หลักเท่านั้น: "^d{n,}$"
สามารถป้อนได้เฉพาะตัวเลขหลักล้านเท่านั้น: "^d{m,n}$"
สามารถป้อนได้เฉพาะตัวเลขที่ขึ้นต้นด้วยศูนย์และไม่ใช่ศูนย์เท่านั้น: "^(0|[1-9][0-9]*)$"
สามารถป้อนได้เฉพาะจำนวนจริงบวกที่มีทศนิยม 2 ตำแหน่งเท่านั้น: "^[0-9]+(.[0-9]{2})?$"
สามารถป้อนได้เฉพาะจำนวนจริงบวกที่มีทศนิยม 1-3 ตำแหน่ง: "^[0-9]+(.[0-9]{1,3})?$"
สามารถป้อนได้เฉพาะจำนวนเต็มบวกที่ไม่ใช่ศูนย์เท่านั้น: "^+?[1-9][0-9]*$"
สามารถป้อนได้เฉพาะจำนวนเต็มลบที่ไม่ใช่ศูนย์เท่านั้น: "^-[1-9][0-9]*$"
สามารถป้อนได้เฉพาะอักขระที่มีความยาว 3 ตัวเท่านั้น: "^.{3}$"
สามารถป้อนได้เฉพาะสตริงที่ประกอบด้วยตัวอักษรภาษาอังกฤษ 26 ตัวเท่านั้น: "^[A-Za-z]+$"
สามารถป้อนได้เฉพาะสตริงที่ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์ใหญ่ 26 ตัวเท่านั้น: "^[AZ]+$"
คุณสามารถป้อนสตริงที่ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็ก 26 ตัวเท่านั้น: "^[az]+$"
สามารถป้อนได้เฉพาะสตริงที่ประกอบด้วยตัวเลขและตัวอักษรภาษาอังกฤษ 26 ตัวเท่านั้น: "^[A-Za-z0-9]+$"
คุณสามารถป้อนได้เฉพาะสตริงที่ประกอบด้วยตัวเลข ตัวอักษรภาษาอังกฤษ 26 ตัว หรือขีดล่าง: "^w+$"
ตรวจสอบรหัสผ่านผู้ใช้: "^[a-zA-Z]w{5,17}$" รูปแบบที่ถูกต้องคือ: เริ่มต้นด้วยตัวอักษร ความยาวอยู่ระหว่าง 6-18
มีได้เฉพาะอักขระ ตัวเลข และขีดล่างเท่านั้น
ตรวจสอบว่ามีอักขระเช่น ^%&',;=?$": "[^%&',;=?$x22]+" หรือไม่
สามารถป้อนได้เฉพาะตัวอักษรจีนเท่านั้น: "^[u4e00-u9fa5],{0,}$"
ยืนยันที่อยู่อีเมล: "^w+[-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$"
ตรวจสอบ InternetURL: "^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$"
หมายเลขโทรศัพท์ยืนยัน: "^((d{3,4})|d{3,4}-)?d{7,8}$"
รูปแบบที่ถูกต้องคือ: "XXXX-XXXXXXX", "XXXX-XXXXXXX", "XXX-XXXXXXX",
"XXX-XXXXXXXX", "XXXXXXX", "XXXXXXXXX"
ตรวจสอบหมายเลขประจำตัว (15 หรือ 18 หลัก): "^d{15}|d{}18$"
ตรวจสอบเดือนทั้ง 12 ปี: "^(0?[1-9]|1[0-2])$" รูปแบบที่ถูกต้องคือ: "01"-"09" และ "1" "12"
ตรวจสอบวันที่ 31 ของเดือน: "^((0?[1-9])|((1|2)[0-9])|30|31)$"
รูปแบบที่ถูกต้องคือ: "01" "09" และ "1" "31"
นิพจน์ทั่วไปเพื่อให้ตรงกับตัวอักษรจีน: [u4e00-u9fa5]
จับคู่อักขระแบบไบต์คู่ (รวมถึงอักขระจีน): [^x00-xff]
นิพจน์ทั่วไปเพื่อจับคู่บรรทัดว่าง: n[s| ]*r
นิพจน์ทั่วไปที่ตรงกับแท็ก HTML: /< (.*)>.*|< (.*) />/
นิพจน์ทั่วไปจับคู่ช่องว่างนำหน้าและต่อท้าย: (^s*)|(s*$)
นิพจน์ทั่วไปที่ตรงกับที่อยู่อีเมล: w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
นิพจน์ทั่วไปเพื่อให้ตรงกับ URL: http://([w-]+.)+[w-]+(/[w- ./?%&=]*)?
(1) การใช้งาน: คำนวณความยาวของสตริง (ความยาวของอักขระไบต์คู่นับเป็น 2 และความยาวของอักขระ ASCII นับเป็น 1)
String.prototype.len=function(){return this.replace([^x00-xff]/g,”aa”).length;}
(2) แอปพลิเคชัน: ไม่มีฟังก์ชันตัดแต่งเช่น vbscript ใน JavaScript ดังนั้นเราจึงสามารถใช้นิพจน์นี้เพื่อให้บรรลุผล
String.prototype.trim = ฟังก์ชั่น()
-
กลับ this.replace(/(^s*)|(s*$)/g, “”);
-
(3)การใช้งาน: ใช้นิพจน์ทั่วไปเพื่อแยกย่อยและแปลงที่อยู่ IP
ฟังก์ชั่น IP2V(ip) // แปลงที่อยู่ IP เป็นค่าที่สอดคล้องกัน
-
re=/(d+).(d+).(d+).(d+)/g // นิพจน์ปกติที่ตรงกับที่อยู่ IP
ถ้า (ทดสอบอีกครั้ง (ip))
-
กลับ RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1
-
อื่น
-
โยนข้อผิดพลาดใหม่ ("ไม่ใช่ที่อยู่ IP ที่ถูกต้อง!")
-
-
(4) แอปพลิเคชัน: โปรแกรมจาวาสคริปต์ที่แยกชื่อไฟล์จากที่อยู่ URL
s=”//www.VeVB.COm/page1.htm”;
s=s.replace(/(.*/){0,}([^.]+).*/ig,”$2″); //Page1.htm
(5)การใช้งาน: ใช้นิพจน์ทั่วไปเพื่อจำกัดเนื้อหาอินพุตของกล่องข้อความในรูปแบบเว็บ
ใช้นิพจน์ทั่วไปเพื่อจำกัดอินพุตเป็นภาษาจีนเท่านั้น: onkeyup="value="/blog/value.replace(/["^u4E00-u9FA5]/g,") ” onbeforepaste="clipboardData.setData('text',clipboardData. getData('text').replace(/[^u4E00-u9FA5]/g,”))”
ใช้นิพจน์ทั่วไปเพื่อจำกัดอินพุตของอักขระเต็มความกว้างเท่านั้น: onkeyup="value="/blog/value.replace(/["^uFF00-uFFFF]/g,") ” onbeforepaste="clipboardData.setData('text ',clipboardData .getData('text').replace(/[^uFF00-uFFFF]/g,"))"
ใช้นิพจน์ทั่วไปเพื่อจำกัดการป้อนข้อมูลให้เป็นตัวเลข: onkeyup="value="/blog/value.replace(/["^d]/g,") "onbeforepaste="clipboardData.setData('text',clipboardData.getData( ' ข้อความ').แทนที่(/[^d]/g,"))"
ใช้นิพจน์ทั่วไปเพื่อจำกัดการป้อนข้อมูลเป็นตัวเลขและภาษาอังกฤษเท่านั้น: onkeyup="value="/blog/value.replace(/[W]/g,"") "onbeforepaste="clipboardData.setData('text',clipboardData.getData ('ข้อความ').แทนที่(/[^d]/g,"