π»/Javascript
(52) [JavaScript] 8μΌ JavaScript μ κ· ννμ
λ°κΆ
2024. 4. 29. 16:03
μ κ·μμ΄λ?
μ κ·μμ λ¬Έμμ΄μμ λνλλ νΉμ λ¬Έμ μ‘°ν©κ³Ό λμμν€κΈ° μν΄ μ¬μ©λλ ν¨ν΄μ΄λ€.
μ κ·μμ μ΄μ©νλ©΄ νΉμ ν¨ν΄κ³Ό μΌμΉνλ λ¬Έμμ΄μ κ²μ, μΉν, μΆμΆλ±μ΄ κ°λ₯νλ€.
RegExp
pattern | μ κ·μμ λνλ΄λ λ¬Έμλ‘, ννμ λ°μ΄νλ μ¬λμλ‘ κ°μΈμΌ νλ€. |
flags | κΈ°λ³Έ κ²μ μ€μ μ λ³κ²½ν μ μλ νλκ·Έλ‘ λ€μ κ°μ΄ μ‘°ν©μ κ°μ§ μ μλ€. |
g : μΌμΉνλ 첫λ²μ§Έ λ¬Έμμμ λ©μΆμ§ μκ³ μ 체μμ μΌμΉνλ λͺ¨λ λ¬Έμλ₯Ό κ²μνλ€. | |
i : λμλ¬Έμλ₯Ό ꡬλ³νμ§ μλλ€ | |
m : μμ λλ λ λ¬Έμ νμ | |
y : λμ λ¬Έμμ΄μμ μ΄ μ κ· ννμμ lastIndex μμ±μ μν΄ μ§μ λ μΈλ±μ€μμλ§ μΌμΉνλ©°, μ΄νμ λͺ¨λ μΈλ±μ€μμ μΌμΉνμ§ μλλ€. |
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link rel="icon" href="data:;base64,iVBORw0KGgo=">
</head>
<body>
<h3>μ κ·μ - flag</h3>
<script type="text/javascript">
var s, p;
p = /[a-d]+/;
s = '12ax';
console.log(p.test(s)); // true
s='12Ax';
console.log(p.test(s)); // false
p = /[a-d]+/i; // λμλ¬Έμ ꡬλΆνμ§ μμ
s='12Ax';
console.log(p.test(s)); // true
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link rel="icon" href="data:;base64,iVBORw0KGgo=">
</head>
<body>
<h3> μ κ·μ - μΉν </h3>
<script type="text/javascript">
var s,p,a;
s='web μλ° jsp μλ° html';
p=/μλ°/;
a=s.replace(p,'java');
console.log(a);
p=/μλ°/g; // g : λͺ¨λ
a=s.replace(p,'java');
console.log(a);
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link rel="icon" href="data:;base64,iVBORw0KGgo=">
</head>
<body>
<h3>μ κ·μ ν¨ν΄</h3>
<script type="text/javascript">
var s, p;
// . : νλ¬Έμ
p = /a.s/;
s = 'abs';
console.log(p.test(s)); // true
s = 'as';
console.log(p.test(s)); // fasle
//x* : μ λ¬Έμ xμ 0κ° μ΄μ μΌμΉ
p = /test a*b/;
s = 'test aab';
console.log(p.test(s)); // true
s = 'test b';
console.log(p.test(s)); // true
s = 'test ax';
console.log(p.test(s)); // fasle
s = 'uesr aab';
console.log(p.test(s)); // fasle
s = 'uesr test aab end';
console.log(p.test(s)); // true
// ^ : ~μμ, $ : ~ λ
// .* : λͺ¨λ λ¬Έμ
p = /^μλ°.*/; // μλ°λ‘ μμνλ
s = 'μλ° μ¬λ';
console.log(p.test(s)); // true
s = 'μ¬λ μλ°';
console.log(p.test(s)); // false
p = /.*μλ°$/; // μλ°λ‘ λλλ
s = 'μλ° μ¬λ';
console.log(p.test(s)); // false
s = 'μ¬λ μλ°';
console.log(p.test(s)); // true
// μλ°λ‘ μμνκ³ μΉμΌλ‘ λλλ λͺ¨λ λ¬Έμ
//p=/^μλ°.*μΉ$/;
p=/^μλ°(.*)μΉ$/;
s='μλ° μ€νλ§ μΉ';
console.log(p.test(s));
p=/^μλ°.*μΉ$/;
s='μλ° μ€νλ§ μλΈλ¦Ώ';
console.log(p.test(s));
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link rel="icon" href="data:;base64,iVBORw0KGgo=">
</head>
<body>
<h3>μ κ·μ ν¨ν΄</h3>
<script type="text/javascript">
var s,p;
//[1-3] : 1, 2, 3
//[axt] : a, x, t
// μ«μ : \d, [0-9]
// \D : μ«μκ° μλ κ²½μ° (λλ¬Έμλ λ°λ)
// νμ리 μ«μ
// p = /^\d$/;
// p = /^\d{1}$/;
p = /^[0-9]$/;
s = '3';
console.log(p.test(s)); // true
s='35';
console.log(p.test(s)); // false
// νμ리μ΄μ μ«μ
// p = /^\d+$/;
// p = /^\d{1,}$/;
// 1~3μ리 μ«μ
// p = /^\d{1,3}$/;
//x? : μλ¬Έμ xκ° 0κ° μ΄κ±°λ νλ
//νμ리 μ΄μμ μ«μ. λΆνΈ λ° μμλ κ°λ₯
//123 12.5 +12 -15 -15.5 5.
p=/^[+-]?\d+(\.?\d*)$/;
s='123';
console.log(p.test(s));
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link rel="icon" href="data:;base64,iVBORw0KGgo=">
</head>
<body>
<h3>μ κ·μ - μ κ·μ</h3>
<script type="text/javascript">
var s,p;
// νμ μ΄μμ μμ«μ
//p=/^[a-zA-Z0-9_]+$/;
p=/^\w+$/;
// μλ¬Έμ μ μΈ [^] : μ μΈ
p=/^[^a-zA-Z]+$/;
// μλ¬Έκ³Ό λμ΄ μ°κΈ°λ§ κ°λ₯ \s : λμ΄μ°κΈ°
p=/^[a-zA-Z\s]+$/;
// x(?=y) : xλ€μμ yκ° λμ€λ κ²½μ°λ§ μΌμΉ
// μλ¬Έμλ‘ μμνκ³ μλ¬Έ, λμ΄μ°κΈ°λ§ κ°λ₯
p=/^(?=[a-z])[a-z\s]*$/i;
//μλ°, μΉ, java, web μ‘΄μ¬ μ¬λΆ
p = /^.*(?=μλ°|μΉ|java|web).*$/i;
//p =/(μλ°|μΉ|java|web)/i;
// νκΈ νκΈμ μ΄μ
p = /^[κ°-ν£]+$/;
</script>
</body>
</html>