คู่มืออ้างอิง JavaScript RegExp

  • หน้าก่อนหน้า JS Promise
  • หน้าต่อไป JS Set

ตัวแปร RegExp

การแสดงทางการคำนวณเป็นรูปแบบตัวอักษร

รูปแบบนี้ใช้ในการทำการค้นหาและแทนที่รูปแบบ 'search and replace' ของข้อความ

ใน JavaScript ตัวแปร RegExp คือตัวที่มีคุณสมบัติและวิธี

รูปแบบการใช้

/pattern/modifier(s);

ตัวอย่าง

let pattern = /codew3c/i;

ลองทดสอบด้วยตัวเอง

ตัวอย่างที่ชี้แจง

codew3c รูปแบบที่ต้องการค้นหา
/codew3c/ การแสดงทางการคำนวณ
/codew3c/i การแสดงทางการคำนวณที่ไม่ควรจำแนกความยาวตัวอักษร

สำหรับความรู้เกี่ยวกับการแสดงทางการคำนวณ โปรดอ่านคู่มือของเรา JavaScript RegExp คู่มือ

สัญญาณ

สัญญาณใช้ในการทำการค้นหาที่ไม่ควรจำแนกความยาวตัวอักษรและทั้งหมด

สัญญาณ คำอธิบาย
g ทำการตรวจสอบทั้งหมด (ค้นหาทุกการตรวจสอบไม่ใช่หยุดที่การตรวจสอบแรก)
i ทำการตรวจสอบไม่ควรจำแนกความยาวตัวอักษร
d ทำการตรวจสอบตัวย่อย
m ทำการตรวจสอบแบบหลายบรรทัด

ช่องกลม

ช่องกลมใช้ในการค้นหาตัวอักษรในระยะทางบางตัว

การแสดงทางการคำนวณ คำอธิบาย
[abc] ค้นหาตัวอักษรทั้งหมดในช่องกลม
[^abc] ค้นหาตัวอักษรที่ไม่อยู่ในช่องกลม
[0-9] ค้นหาทั้งหมดของตัวเลขจาก 0 ถึง 9。
[^0-9] ตรวจสอบว่ามีอักษรที่ไม่อยู่ในวงเล็บ (ทั้งหมดที่ไม่ใช่ตัวเลข)。
(x|y) ตรวจสอบว่ามีตัวเลือกที่กำหนดไว้หรือไม่。

อักษรเด่น

อักษรเด่นเป็นอักษรที่มีความหมายเฉพาะ:

อักษรเด่น คำอธิบาย
. ตรวจสอบว่ามีอักษรเดียวที่ไม่ได้เป็นรีทอร์นของระบบปฏิบัติการหรือแบบแปลงหน้า.
\w ตรวจสอบว่ามีอักษรที่เป็นตัวอักษรภาษาอังกฤษ.
\W ตรวจสอบว่ามีอักษรที่ไม่เป็นตัวอักษรภาษาอังกฤษ.
\d ตรวจสอบว่ามีตัวเลข.
\D ตรวจสอบว่ามีอักษรที่ไม่เป็นตัวเลข.
\s ตรวจสอบว่ามีอักษรที่เป็นชาติวรรณคดี.
\S ตรวจสอบว่ามีอักษรที่ไม่เป็นชาติวรรณคดี.
\b ตรวจสอบว่ามีการตรวจสอบคู่กันที่ตั้งต้นด้วยคำที่เป็นภาษาอังกฤษหรือสิ้นสุดด้วยคำที่เป็นภาษาอังกฤษ ดังนี้: \bHI หรือ HI\b。
\B ตรวจสอบว่ามีการตรวจสอบคู่กันแต่ไม่ได้ตั้งต้นด้วยคำที่เป็นภาษาอังกฤษ.
\0 ตรวจสอบว่ามีชาติตัวอักษรตั้งต้นด้วยตัวอักษร NULL.
\n ตรวจสอบว่ามีชาติตัวอักษรตั้งต้นด้วยแบบเปิดบท.
\f ตรวจสอบว่ามีชาติตัวอักษรตั้งต้นด้วยแบบแปลงหน้า.
\r ตรวจสอบว่ามีชาติตัวอักษรตั้งต้นด้วยรีทอร์นของระบบปฏิบัติการ.
\t ตรวจสอบว่ามีชาติตัวอักษรตั้งต้นด้วยตาราง.
\v ตรวจสอบว่ามีชาติตัวอักษรตั้งต้นด้วยวงจรตั้งต้น.
\xxx ตรวจสอบว่ามีอักษรที่กำหนดด้วยตัวเลขเต็ม xxx หรือไม่。
\xdd ตรวจสอบว่ามีอักษรที่กำหนดด้วยตัวเลขสิบหก dd หรือไม่。
\udddd ตรวจสอบว่ามีอักษร Unicode ที่กำหนดด้วยตัวเลขสิบหก xxxx หรือไม่。

ปริมาณ

ปริมาณ คำอธิบาย
n+ ตรวจสอบว่าช่วงตัวอักษรมีตัวอักษรที่เป็น n ซึ่งมีมากกว่าหนึ่งตัวอักษร。
n* ตรวจสอบว่าช่วงตัวอักษรมีตัวอักษรที่เป็น n ซึ่งไม่มีมากกว่าหนึ่งตัวอักษรหรือมากกว่าหนึ่งตัวอักษร。
n? ตรวจสอบว่าช่วงตัวอักษรมีตัวอักษรที่เป็น n ซึ่งไม่มีมากกว่าหนึ่งตัวอักษร。
n{X} ตรวจสอบว่าช่วงตัวอักษรมี X ตัวอักษรที่เป็น n。
n{X,Y} ตรวจสอบว่าช่วงตัวอักษรมี X ถึง Y ตัวอักษรที่เป็น n。
n{X,} ตรวจสอบว่าช่วงตัวอักษรมีอย่างน้อย X ตัวอักษรที่เป็น n。
n$ ตรวจสอบว่าช่วงตัวอักษรสิ้นสุดด้วยตัวอักษรที่เป็น n。
^n ตรวจสอบว่าช่วงตัวอักษรเริ่มต้นด้วยตัวอักษรที่เป็น n。
?=n ตรวจสอบว่าช่วงตัวอักษรหลังมีตัวอักษรที่เป็น n หรือไม่。
?!n ตรวจสอบว่าช่วงตัวอักษรหลังมีตัวอักษรที่เป็น n หรือไม่。

ขอบเขตตัวแปร RegExp

ขอบเขต คำอธิบาย
constructor กลับค่าฟังก์ชันที่สร้างตัวแปร RegExp ต้นแบบ.
global ตรวจสอบว่าเคยตั้งค่า "g" มาแล้วหรือไม่。
ignoreCase ตรวจสอบว่าเคยตั้งค่า "i" มาแล้วหรือไม่。
lastIndex กำหนดตำแหน่งตัวอักษรที่จะเริ่มต้นการตรวจสอบตัวอักษรต่อไป。
multiline ตรวจสอบว่าเคยตั้งค่า "m" มาแล้วหรือไม่。
source กลับค่าข้อความแบบเรียกใช้ตัวแปร RegExp

วิธีที่ใช้ตัวแปร RegExp

วิธี คำอธิบาย
compile() ถูกทำให้ไม่น่าใช้ในสัปดาห์ที่ 1.5. แบบไซน์แอบแบบเรียกใช้ตัวแปรแอบ.
exec() ทดสอบการตรวจสอบช่วงตัวอักษรในข้อความที่เปิดแถว. กลับค่าตัวอักษรที่ตรวจพบครั้งแรก。
test() ทดสอบการตรวจสอบช่วงตัวอักษรในข้อความที่เปิดแถว. กลับค่า true หรือ false。
toString() กลับมาด้วยตัวแปลของการแสดงทางประมวลผล

คำอธิบายตัวแปล RegExp

ตัวแปล RegExp แสดงการแสดงทางประมวลผล มันเป็นเครื่องมือที่มีความแข็งแกร่งในการตรวจสอบมอเตอร์งาน

สัญลักษณ์โดยตรง

/pattern/attributes

สัญลักษณ์การสร้างตัวแปล RegExp

new RegExp(pattern, attributes);

ค่าที่เป็นตัวแปล

ค่าที่เป็นตัวแปล pattern เป็นตัวแปล มีความหมายของโมเดิลการแสดงทางประมวลผลหรือการแสดงทางประมวลผล

ค่าที่เป็นตัวแปล attributes ค่าที่เป็นตัวแปลตัวเลือก มีความหมายของตัวแปล "g"、"i" และ "m" ตามลำดับ ใช้เพื่อกำหนดการตรวจสอบทั้งหมด การตรวจสอบต่างขนาดอักษร และการตรวจสอบแบบหลายบรรทัด ก่อนการมีมาตรฐาน ECMAScript ไม่สนับสนุนค่า m pattern ถ้าค่าที่กลับมาเป็นการแสดงทางประมวลผล ไม่ใช่ตัวแปล ต้องละความผิดพลาดนี้

ค่าที่กลับมา

ตัวแปล RegExp ใหม่ ที่มีโมเดิลและสัญลักษณ์ที่กำหนด pattern เป็นการแสดงทางประมวลผล ไม่ใช่ตัวแปล ตัวแปล RegExp() จะสร้างตัวแปล RegExp ใหม่ด้วยโมเดิลและสัญลักษณ์ที่เหมือนกับ RegExp ที่กำหนด

ถ้าไม่ใช้นักเลือกแบบ new และใช้ RegExp() ในการเรียกฟังก์ชัน มันจะทำงานเหมือนกับการเรียกด้วยนักเลือก new แต่เมื่อ pattern เป็นการแสดงทางประมวลผล มันจะกลับมาด้วยตัวแปล patternไม่มีการสร้างตัวแปล RegExp ใหม่

โทษความผิดพลาด

SyntaxError - ถ้า pattern ไม่ใช่การแสดงทางประมวลผลที่ถูกต้อง หรือ attributes มีตัวอักษรนอกจาก "g"、"i" และ "m" แล้ว จะโทษความผิดพลาด

TypeError - ถ้า pattern เป็นตัวแปล RegExp แต่ไม่ได้ละความผิดพลาด attributes อุปกรณ์ โดยที่จะทิ้งความผิดพลาดนี้

การสนับสนุนเบราเซอร์

/regexp/ เป็นคุณสมบัติของ ECMAScript1 (ES1)

ทุกเบราเซอร์เข้าถึง ES1 (JavaScript 1997) ทั้งหมด:

Chrome IE Edge Firefox Safari Opera
Chrome IE Edge Firefox Safari Opera
สนับสนุน สนับสนุน สนับสนุน สนับสนุน สนับสนุน สนับสนุน

วิธีที่สนับสนุน String ที่มีการแสดงทางประมวลผล

วิธี คำอธิบาย
search ค้นหาตัวแปลที่ตรงกับการแสดงทางประมวลผล
match หาตัวแปลที่ตรงกับการแสดงทางประมวลผลหนึ่งหรือหลาย
replace แทนที่ตัวแปลที่ตรงกับการแสดงทางประมวลผล
split แยกตัวแปลข้อความเป็นตัวแปลแถว
  • หน้าก่อนหน้า JS Promise
  • หน้าต่อไป JS Set