πŸ’»/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>