[๐ŸŒณjavascript]์ •๊ทœํ‘œํ˜„์‹

h-a-n-aยท2023๋…„ 2์›” 28์ผ
1

๐ŸŒณjavascript

๋ชฉ๋ก ๋ณด๊ธฐ
7/17

์ •๊ทœ์‹

์šฉ๋„

๋ฌธ์ž์—ด์—์„œ ํŠน์ • ๋‚ด์šฉ์„ ์ฐพ๊ฑฐ๋‚˜, ๋Œ€์ฒด, ์ถ”์ถœํ•˜๋Š” ์šฉ๋„๋กœ ์‚ฌ์šฉํ•˜๋Š” ํŒจํ„ด.
๋Œ€ํ‘œ์ ์œผ๋กœ ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ์ด๋ฉ”์ผ, ํœด๋Œ€ํฐ ๋ฒˆํ˜ธ ๋“ฑ์ด ์˜ฌ๋ฐ”๋ฅธ์ง€ ๊ฒ€์ฆํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

๋ฌธ์ž์—ด์—์„œ ํŠน์ • ๋‚ด์šฉ์„ ์ฐพ๊ธฐ ์œ„ํ•ด์„  .includes()์„ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ๋Š”๋ฐ

'abc'.includes('a') //true
'๊ฐ€๋‚˜๋‹ค'.includes('๋ผ') //false

๊ทธ๋Ÿฌ๋‚˜ includes()๋งŒ์œผ๋กœ๋Š” ๋ฌธ์ž ๋‚ด์— 'ํ•œ๊ธ€์ด๋ผ๋Š” ํ˜•์‹์ด ํฌํ•จ๋˜์–ด ์žˆ์–ด?','์ˆซ์ž'๊ฐ€ ์žˆ์–ด? a๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋ฌธ์ž๊ฐ€ ์žˆ์–ด? ๊ฐ™์€ ๊ฑด ๊ฒ€์‚ฌํ•  ์ˆ˜ ์—†๋‹ค.

์ •๊ทœ์‹ ์ƒ์„ฑ

  • ์ƒ์„ฑ์ž
    new RegExp('ํ‘œํ˜„', '์˜ต์…˜')
    new RegExp('[a-z]', 'gi')
  • ๋ฆฌํ„ฐ๋Ÿด
    /ํ‘œํ˜„/์˜ต์…˜
    /[a-z]/gi

๋ฉ”์†Œ๋“œ

  • test : ์ผ์น˜์—ฌ๋ถ€(true/false) ๋ฐ˜ํ™˜
    ์ •๊ทœ์‹.test(๋ฌธ์ž์—ด)
  • match : ์ผ์น˜ํ•˜๋Š” ๋ฌธ์ž์˜ ๋ฐฐ์—ด ๋ฐ˜ํ™˜
    ๋ฌธ์ž์—ด.match(์ •๊ทœ์‹)
  • replace: ์ผ์น˜ํ•˜๋Š” ๋ฌธ์ž๋ฅผ ๋Œ€์ฒด
    ๋ฌธ์ž์—ด.replace(์ •๊ทœ์‹, ๋Œ€์ฒด๋ฌธ์ž)
const str='์šฐ๋ฆฌ ์Šคํ„ฐ๋””7์กฐ ์งฑ์ด๋‹ค'
const regexp=/์งฑ์ด๋‹ค/
console.log(regexp.test(str)) // true
console.log(str.match(regexp)) //['์งฑ์ด๋‹ค']
console.log(str.replace(regexp,๋ฉ‹์ง€๋‹ค)) //์šฐ๋ฆฌ ์Šคํ„ฐ๋””7์กฐ ๋ฉ‹์ง€๋‹ค

ํ”Œ๋ž˜๊ทธ

g: ์ „์—ญ ๊ฒ€์ƒ‰(gํ”Œ๋ž˜๊ทธ ์—†์œผ๋ฉด ์ผ์น˜ํ•˜๋Š” ์ฒซ ๋ฒˆ์งธ ๋ฌธ์ž๋งŒ ๋ฐ˜ํ™˜)
i: ์˜์–ด ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„ ์•Š๊ณ  ์ผ์น˜
m: ์—ฌ๋Ÿฌ ์ค„ ์ผ์น˜(^๋Š” ์ „์ฒด ๋ฌธ์ž์—ด์ด ์•„๋‹Œ ๊ฐ ์ค„๋ณ„๋กœ ๋Œ€์‘๋˜๊ฒŒ ๋งŒ๋“ค์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ๋Ÿฌ์ค„์„ ๊ฒ€์ƒ‰ํ•ด์•ผ ํ•œ๋‹ค๋ฉด mํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค)

ํŒจํ„ด

^ab: ์ค„ ์‹œ์ž‘์— ์žˆ๋Š” ab์™€ ์ผ์น˜
ab$: ์ค„ ๋์— ์žˆ๋Š” ab์™€ ์ผ์น˜

const park = 'ํฌ์ˆ˜๋‹˜์€ ๊ฐ•์•„์ง€๋ฅผ ์ข‹์•„ํ•ฉ๋‹ˆ๋‹ค'
//์ค„ ์‹œ์ž‘์— 'ํฌ'๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ์‹ถ์„๋•Œ
const regexp=/^ํฌ/
console.log(regexp.test(park)) // true
const park2=`๊ฐ•์•„์ง€๋ฅผ ์ข‹์•„ํ•˜๋Š”\n
ํฌ์ˆ˜๋‹˜`
const regexp=/^ํฌ/
console.log(regexp.test(park2)); //false
const park2=`๊ฐ•์•„์ง€๋ฅผ ์ข‹์•„ํ•˜๋Š”
ํฌ์ˆ˜๋‹˜`
const regexp2=/^ํฌ/m
console.log(regexp2.test(park2)) // true
const park3=`ํฌ์ˆ˜๋‹˜์€ ์ข‹์•„ํ•ฉ๋‹ˆ๋‹ค\n
๊ฐ•์•„์ง€`
console.log(/^๊ฐ•/m.test(park3))  ๐Ÿ‘ // true? false?

true

.: ์ž„์˜์˜ ํ•œ ๋ฌธ์ž์™€ ์ผ์น˜
a|b: a ๋˜๋Š” b์™€ ์ผ์น˜
ab?: b๊ฐ€ ์—†๊ฑฐ๋‚˜ b์™€ ์ผ์น˜

const pyo = '์Šน์—ฐ๋‹˜์€ ๋กค๋ฆฌํŒ์„ ๋จน๊ณ  ๋กค๋ฆฐ๋…ธ๋ž˜๋ฅผ ๋“ค์œผ๋ฉฐ ๋กค๊ฒŒ์ž„์„ ํ–ˆ์Šต๋‹ˆ๋‹ค.'

const regexp=/๋กค|๊ฒŒ์ž„/
const regexp2=/๋กค./
const regexp3=/๋กค../

console.log(regexp.test(pyo)) // true
console.log(pyo.match(regexp2)) // ['๋กค๋ฆฌ', '๋กค๋ฆฐ', '๋กค๊ฒŒ']
console.log(pyo.match(regexp3)) // ๐Ÿ‘

`['๋กค๋ฆฌํŒ', '๋กค๋ฆฐ๋…ธ', '๋กค๊ฒŒ์ž„']`

[a-z]: a-z ์‚ฌ์ด์˜ ์•„๋ฌด ๋ฌธ์ž ํ•˜๋‚˜์™€ ์ผ์น˜(์˜์–ด ์†Œ๋ฌธ์ž)
[A-Z]: A-Z ์‚ฌ์ด์˜ ์•„๋ฌด ๋ฌธ์ž ํ•˜๋‚˜์™€ ์ผ์น˜(์˜์–ด ๋Œ€๋ฌธ์ž)
[0-9]: 0-9 ์‚ฌ์ด์˜ ๋ฌธ์ž ๊ตฌ๊ฐ„์— ์ผ์น˜(์ˆซ์ž)
[๊ฐ€-ํžฃ]: ๊ฐ€๋ถ€ํ„ฐ ํžฃ ์‚ฌ์ด์˜ ๋ฌธ์ž ๊ตฌ๊ฐ„์— ์ผ์น˜(ํ•œ๊ธ€)

const lee = '์Šน์šฉnim...๋‹ค์Œ ๋ฐœํ‘œ ํ™”์ดํŒ…์ž…๋‹ˆDa'
console.log(lee.match(/[A-Z]/i)) //['n', 'i', 'm', 'D', 'a']
console.log(lee.match(/[A-Z]/)) //๐Ÿ‘

[D]

{3}: 3๊ฐœ ์—ฐ์† ์ผ์น˜
{3,}: 3๊ฐœ ์ด์ƒ ์—ฐ์† ์ผ์น˜
{3,5}: 3๊ฐœ ์ด์ƒ 5๊ฐœ ์ดํ•˜ ์—ฐ์† ์ผ์น˜
\w: 63๊ฐœ ๋ฌธ์ž์— ์ผ์น˜(๋Œ€์†Œ์˜๋ฌธ 52๊ฐœ, ์ˆซ์ž10๊ฐœ,_)
\b: 63๊ฐœ ๋ฌธ์ž์— ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” ๋ฌธ์ž ๊ฒฝ๊ณ„
\d: ์ˆซ์ž์— ์ผ์น˜

console.log("the fox is brown".match(/\b/g));//['', '', '', '', '', '', '', '']
console.log("ํ•œ๊ธ€์€ ์•ˆ๋ฉ๋‹ˆ๋‹ค".match(/\b/g)); <//null
console.log("ํ•œ๊ธ€์€ ์ง„์งœ ์•ˆ๋ฉ๋‹ˆ๋‹ค".match(/\w/g)); //null
            

const lim = '062-944-1439 ๊ด‘์ฃผ๋ง›์ง‘ ์†ก์ •๋–ก๊ฐˆ๋น„ ์ „ํ™”๋ฒˆํ˜ธ์ž…๋‹ˆ๋‹ค.์„ฑ์—ด๋‹˜ ์—ฌ๊ธฐ ์œ ๋ช…ํ•œ๊ฐ€์š”?'
console.log(lim.match(/\d{2,3}/g)) //['062', '944', '143']
console.log(lim.match(/\d{3,}/g)) // ๐Ÿ‘

['062', '944', '1439']

์ด๋ฉ”์ผ ํ˜•์‹์ธ์ง€ ๊ฒ€์‚ฌํ•ด๋ด…์‹œ๋‹ค

+ : 1ํšŒ ์ด์ƒ ์—ฐ์† ์ผ์น˜
*: 0ํšŒ ์ด์ƒ ์—ฐ์† ์ผ์น˜

aaaAA11@naver.com

const email = document.querySelector('input.email').value
if (/[a-zA-Z0-9]+@[a-z]{2,}\.[a-z]{2,3}/.test(email)) {
    alert("ํ™˜์˜ํ•ด์š”!");
  } else {
    alert("์ด๋ฉ”์ผ ํ˜•์‹์ด ์•„๋‹™๋‹ˆ๋‹ค");
  }
});







profile
ํ•˜๋ฃจํ•˜๋ฃจ๊ฐ€ ์—ฐ์Šต์ด๋‹ˆ ๋‚ด์ผ์€ ๋” ๊ฐ•ํ•ด์งˆ ๊ฒ๋‹ˆ๋‹ค

0๊ฐœ์˜ ๋Œ“๊ธ€