๊ณตํต์ ์ผ๋ก ์ฌ์ฉ๋๋ ๊ธฐ๋ฅ์ ๋ชจ๋ํ ์งํ ๊ฐ ํ์ด์ง์ READ.ME๋ฅผ ์ฝ์ด์ฃผ์ธ์.
๋ด๋ถ ๋ํ๋จผํธ๋ฅผ ๋ณด์๊ธธ ๊ถ์ฅ๋๋ฆฝ๋๋ค. ๋ํ๋จผํธ
iOS 11.0+/macOS 10.13+/tvOS 11.0+/watchOS 4.0+ Apple developer
File > Swift Packages > Add Package Dependency Add https://github.com/dev-rsquare/UtilityKit.git Select "Up to Next Major" with 0.0.1
.package(url: "https://github.com/dev-rsquare/UtilityKit.git", .upToNextMajor(from: "0.0.1"))
[์ต์ ์ค๋ช ]
.required([.english, .number, , .korean, .specialSymbols]) // ํ์๋ก ํฌํจ๋์ด์ผํ๋ ์ค์
//์์ด, ์ซ์, ํ๊ธ, ํน์๋ฌธ์ 4๊ฐ์ง ์ต์
์ ์ ๊ณตํฉ๋๋ค.
.setLength(min: Int, max: Int) // ์ต์ ์ต๋ ๊ธ์
.setSpecialCharacter(#",<.>\/?;:'"\[{\]}`~โฉ!@#$%^&*()-_=+\|"#) // ํน์๋ฌธ์ ์ค์
//#""# ํฌ๋งทํ์์ผ๋ก ํน์๋ฌธ์์ด์ ์ ๋ฌํฉ๋๋ค. ์์๋ฅผ ๊ผญ ์ฐธ๊ณ ํด์ฃผ์ธ์.
.setRegex([.english, .number, , .korean, .specialSymbols]) // ํฌํจ๋์ด์ผํ๋ ์กฐ๊ฑด
//์์ด, ์ซ์, ํ๊ธ, ํน์๋ฌธ์ 4๊ฐ์ง ์ต์
์ ์ ๊ณตํฉ๋๋ค.
.setLogOption(.verbose) // ๋ก๊ทธ๋ ๋ฒจ
1.ํ์๋ก ํฌํจ๋์ด์ผํ๋ ์กฐ๊ฑด์ ์์ด, ์ซ์, ํน์๋ฌธ์
2.์
๋ ฅ๋ฐ์ ๋ฌธ์์ด์ ๊ธธ์ด์ ์ต์๊ธธ์ด๋ 8, ์ต๋๊ธธ์ด๋ 20 ์ผ๋ก ์ค์
3.์ปค์คํ
์ผ๋ก ํน์๋ฌธ์ ์ง์
4.ํฌํจ๋์ด์ผํ๋ ์กฐ๊ฑด์ ์์ด์ ์ซ์
5.๋ก๊ทธ๋ ๋ฒจ .verbose (์์ธํ ๋ก๊ทธ ์ ๊ณต)
Code ์ฌ์ฉ๋ฒ
// ๋น๋ํจํด์ผ๋ก ํ์ํ ์ค์ ์ ์ถ๊ฐํด์ฃผ์ธ์.
let builder = RegExBuilder()
.required([.english,.number,.specialSymbols]) // ํ์๋ก ํฌํจ๋์ด์ผํ๋ ์ค์
.setLength(min: 8, max: 20) // ์ต์ ์ต๋ ๊ธ์
.setSpecialCharacter(#",<.>\/?;:'"\[{\]}`~โฉ!@#$%^&*()-_=+\|"#) // ํน์๋ฌธ์ ์ค์
.setRegex([.english,.number]) // ํฌํจ๋์ด์ผํ๋ ์ค์
.setLogOption(.verbose) // ๋ก๊ทธ๋ ๋ฒจ
//ValidationDirector๋ฅผ ํตํด validator ์ธ์คํด์ค๋ฅผ ์์ฑํด์ฃผ์ธ์.
let validator = ValidationDirector.createValidator(builder: builder)
let YOURTEXT = "123456789"
// validator ์ธ์คํด์ค์ isValid(String)์ ํตํด์ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ์งํํ์๋ฉด ๋ฉ๋๋ค.
validator.isValid(YOURTEXT) { response in
switch response {
case .success(let success):
print(success)
case .failure(let failure):
print(failure.desc)
}
}
์์ ๊ฒฐ๊ณผ : ์์ด๊ฐ ํฌํจ๋์ด ์์ง ์์ต๋๋ค
ํน์๋ฌธ์ ์ค์ ์ #"{String}"# ํฌ๋งท์์ ํน์๋ฌธ์์ด์ ์ ๋ฌํด์ฃผ์ธ์.
ํฌํจ์กฐ๊ฑด์ ํน์๋ฌธ์๊ฐ ํฌํจ๋์ด ์์ง ์๋๋ผ๋ ํ์๋ก ํฌํจ๋์ด์ผํ๋ ์กฐ๊ฑด์ ์ค์ ํ๋ ๊ฒฝ์ฐ ์ปค์คํ
ํน์๋ฌธ์๊ฐ ์ง์ ์ ํ์ง์์ผ๋ฉด ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ ์ฅ๋ ํน์๋ฌธ์ ๊ฐ์ ์ฌ์ฉํฉ๋๋ค.
link |
Stars: 0 |
Last commit: 37 weeks ago |
์ปค์คํ ์ ํจ์ฑ ๊ฒ์ฌ ๊ธฐ๋ฅ ๋ฐ์
Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics