์ ๊ท์
์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ํ ๋ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ๊ฒ
์ฌ์ฉ ๋ฐฉ๋ฒ์ ์๊ณ ์์ผ๋ฉด ์ด๋ ต์ง ์๊ฒ ์ฌ์ฉ ๊ฐ๋ฅ
๊ฒฝ์ฐ์ ๋ฐ๋ผ์๋ ์ ๊ท์์ด ์๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํด์ผ ํ๋ ์ผ์ด ์์ ์ ์์
์ ๊ท์ ์์ฑ ๋ฐฉ๋ฒ
RegExp ๊ฐ์ฒด ์์ฑ
์์ฑ์ ๋ฐฉ์
var ๋ณ์ = new RegExp(pattern[, flags]);
์ผ๋ฐ์ ์ผ๋ก RegExp๋ฅผ ํตํ ๋ฐฉ๋ฒ๋ณด๋ค๋ "์ ๊ท์ ๋ฆฌํฐ๋"์ ์ด์ฉํจ
ํ๋ผ๋ฏธํฐ์์ ๋ฐ์ดํ๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ ์ฌ๋์ฌ๋ฅผ ์ฌ์ฉํด์ผํ๋ค.
์ฒซ ๋ฒ์งธ ์ธ์๋ ํจํด
๋ ๋ฒ์งธ ์ธ์๋ ํ๋๊ทธ
flags
g: ์ผ์นํ๋ ์ฒซ ๋ฒ์งธ ๋ฌธ์์์ ๊ทธ์น์ง ์๊ณ ์ ์ฒด์์ ์ผ์นํ๋ ๋ชจ๋ ๋ฌธ์๋ฅผ ๊ฒ์
i : ๋์๋ฌธ์๋ฅผ ๊ฐ์ ๋ฌธ์๋ก ์ทจ๊ธํ๊ณ ์ถ๋ค๋ฉด ์ฌ์ฉ
๋ฆฌํฐ๋ด ๋ฐฉ์
var p = /ab+c/i;
/ /์ฌ์ด์ ์ ๊ท์์ ์ ๋ ฅํ๊ณ , ํ๋ฐ์ดํ๋ ์๋ฐ์ดํ๋ฅผ ์ฌ์ฉํ ์ ์์
์ฃผ๋ก ์ด ๋ฐฉ์์ ์ฌ์ฉํ๋ค.
var p = new RegExp('ab+c', 'i');
var p = new RegExp(/ab+c/, 'i'); // ECMAScript 6์์๋ ๊ฐ๋ฅํ๋ค.
์์ฑ์ ๋ฐฉ์ : ํ๋ผ๋ฏธํฐ์ ๋ฐ์ดํ ์ฌ์ฉ
์ ๊ท์ ํจํด
๋ฌธ์ ํด๋์ค ํจํด
๋ฌธ์ ์งํฉ
๋์ฒด ํจํด
๊ฒฝ๊ณ ํจํด
var s, p;
// ํ ์ ์ด์์ ์์ซ์
p = /^[a-zA-Z0-9]+$/;
p = /^[a-z0-9]+$/i;
// 1์ ์ด์์ ์์ซ์์ _
p = /^\w+$/i;
// ๊ณต๋ฐฑ(ํญ) : \s
// ์๋ฌธ์์ ๊ณต๋ฐฑ
p = /^[a-z\s]+$/i;
s = 'a b';
console.log(p.test(s)); // true
s = 'a 1';
console.log(p.test(s)); // false
//x(?=y) : x ๋ค์์ y๊ฐ ๋์ค๋ ๊ฒฝ์ฐ์๋ง x์ ์ผ์น
// ์๋ฌธ์๋ก ์์ํ๊ณ ์์ซ์์ _ ๊ฐ๋ฅ
p = /^(?=[a-z])(\w)*$/i;
s = 'a';
console.log(p.test(s));// true
s = '1a';
console.log(p.test(s));// false
s = 'a1';
console.log(p.test(s));// true
// | : ๋๋
// ์๋ฐ, ์น, java, web ํ๋ ์ด์ ์กด์ฌ ์ฌ๋ถ
p = /.*(?=์๋ฐ|์น|web|java).*/i;
p = /(?=์๋ฐ|์น|web|java)/i;
// ํ๊ธ์ ์ฝ๋ : \uac00~\u7a3, ๊ฐ~ํฃ
// 1์ ์ด์์ ํ๊ธ๋ง ๊ฐ๋ฅ
p = /^[๊ฐ-ํฃ]+$/;
p = /^[\uac00~\u7a3] + $/;
๋ ์ง ์ ๊ท์
var s, p;
// ๋ ์ง, 2000-10-10, 2000.10.10 2000/10/10 200001010
p = /^\d{8}$/;
p = /^[12][0-9]{3}[\-\.\/]?[01][0-9][\-\.\/]?[0-3][0-9]$/;
s = "1101.10.10";
console.log(p.test(s)); // true
s = "2000.02.10";
console.log(p.test(s)); //false
// ์ด๋ฏธ์ง ํ์ผ
p = /(\.gif|\.jpg|\.jpeg|\.png)$/i;
s = "image.jpg";
console.log(p.test(s)); //false
// 5~ 10์ ๋ฌธ์๋ก ์๋ฌธ์์ ํ๋ ์ด์์ ์ซ์๋ ํน์ ๋ฌธ์ ํฌํจ
p = /^(?=.*[a-z])(?=.*[!@#$%^]|.*[0-9]).{5,10}$/i;
// ?=.* ๋ญ๊ฐ ์๋ ์๊ด ์๋๋ฐ a-z๊น์ง๋ ์กด์ฌํด์ผ ํจ
'๐ปProgramming > ๐โโ๏ธJavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JavaScript] 09. DOM (0) | 2022.09.26 |
---|---|
[JavaScript] 09. DOM (0) | 2022.09.26 |
[JavaScript] 07. form ๊ฐ์ฒด (0) | 2022.09.23 |
[JavaScript] 06. ์ด๋ฒคํธ - MouseEvent (0) | 2022.09.23 |
[JavaScript] 06. ์ด๋ฒคํธ - KeyboardEvent (1) | 2022.09.22 |