นิพจน์ทั่วไปสำหรับการจับคู่อักขระจีน: [u4e00-u9fa5]
การจับคู่อักขระไบต์คู่ (รวมถึงอักขระจีน): [^x00-xff]
การใช้งาน: คำนวณความยาวของสตริง (ความยาวของอักขระไบต์คู่ ถูกคำนวณ 2. อักขระ ASCII นับเป็น 1)
String.prototype.len=function(){return this.replace([^x00-xff]/g,"aa").length;}
นิพจน์ทั่วไปเพื่อจับคู่บรรทัดว่าง : n[s|. ]*r
นิพจน์ทั่วไปจับคู่แท็ก HTML: /<(.*)>.*</>|<(.*) />/
นิพจน์ทั่วไปจับคู่ช่องว่างนำหน้าและต่อท้าย: (^ s*)|(s*$)
แอปพลิเคชัน: ไม่มีฟังก์ชันตัดแต่งเหมือน vbscript ใน JavaScript เราสามารถใช้นิพจน์นี้เพื่อให้บรรลุผลได้ดังนี้:
String.prototype.trim = function() {
กลับ this.replace(/(^s*)|(s*$)/g, "");
}
ใช้นิพจน์ทั่วไปเพื่อแยกย่อยและแปลงที่อยู่ IP:
ต่อไปนี้เป็นโปรแกรมจาวาสคริปต์ที่ใช้นิพจน์ทั่วไปเพื่อจับคู่ที่อยู่ IP และแปลงที่อยู่ IP เป็นค่าที่สอดคล้องกัน:
ฟังก์ชัน IP2V(ip) {
re=/(d+).(d+).(d+).(d+)/g // นิพจน์ปกติที่ตรงกับที่อยู่ IP
ถ้า (ทดสอบอีกครั้ง (ip)) {
กลับ RegExp.*Math.pow(255,3))+RegExp.*Math.pow(255,2))+RegExp.*255+RegExp.*1
-
อื่น {
โยนข้อผิดพลาดใหม่ ("ไม่ใช่ที่อยู่ IP ที่ถูกต้อง!")
-
}
อย่างไรก็ตาม หากโปรแกรมข้างต้นไม่ได้ใช้นิพจน์ทั่วไป แต่ใช้ฟังก์ชันแยกโดยตรงเพื่อแยกย่อย โปรแกรมอาจเป็นดังนี้:
var ip="10.100.20.168"
ip=ip.split(".")
alert("ค่า IP คือ: "+(ip[0]*255*255*255+ip[1]*255*255+ip[2]*255+ip[3]*1))
การจับคู่อีเมลปกติ ที่อยู่ นิพจน์: w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
URL ที่จับคู่นิพจน์ทั่วไป: http: //( [w-]+.)+[w-]+(/[w - ./?%&=]*)?
โปรแกรมอัลกอริทึมที่ใช้นิพจน์ทั่วไปเพื่อลบอักขระที่ซ้ำกันในสตริง:
var s=" อาบาคาเบฟกี"
var s1=s.replace(/(.).*/g,"")
var re=new RegExp("["+s1+"]", "g")
var s2=s.replace(อีกครั้ง,"")
alert(s1+s2) //ผลลัพธ์คือ: abcefgi
ใช้นิพจน์ทั่วไปเพื่อแยกชื่อไฟล์ออกจากที่อยู่ URL ผลลัพธ์ต่อไปนี้คือ page1
s=" http://www.9499.net/page1.htm "
s=s.replace(/(.*/)([^.]+).*/ig,"")
alert(s)
ใช้นิพจน์ทั่วไปเพื่อจำกัดเนื้อหาอินพุตของกล่องข้อความในรูปแบบเว็บ:
ใช้นิพจน์ทั่วไปเพื่อจำกัดเฉพาะอินพุตภาษาจีน:
onkeyup="value=value.replace(/[^u4E00-u9FA5]/g ,' ')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^u4E00-u9FA5]/g,''))"
ใช้นิพจน์ทั่วไปเพื่อจำกัดเท่านั้น อินพุตอักขระเต็มความกว้าง:
onkeyup="value=value.replace(/[^uFF00-uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text') .replace( /[^uFF00-uFFFF]/g,''))"
ใช้นิพจน์ทั่วไปเพื่อจำกัดการป้อนข้อมูลให้เป็นตัวเลข:
onkeyup="value=value.replace(/[^d]/g,'') "onbeforepaste ="clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,''))"
ใช้นิพจน์ทั่วไปเพื่อจำกัดอินพุตเป็นตัวเลขและภาษาอังกฤษ:
onkeyup= " value=value.replace(/[W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g, ' '))"