서버 개발

지난 포스팅에서 preg_match() 함수를 이용해서 정규표현식의 유효성을 검사했었다. 하지만 filter_var() 함수를 이용하면 더욱 간단하게 유효성 검사를 구현할 수 있다. 이메일주소 유효성 검사 구성은 다음과 같다. 이 함수의 두 번째 아규먼트 값에 따라 검사할 유형이 달라지는 방식이다. 두 번째 아규먼트 값은 이미 선언된 상수 값이기에 따로 선언할 필요는 없다. 구성 filter_var('검사할 값', FILTER_VALIDATE_EMAIL); 해당 이메일 값이 올바르다면 true를, 올바르지 않다면 false를 리턴한다. Result youngdev57@gmail.com은 올바른 이메일 주소입니다. youngdev57@gmailcom은 올바르지 않은 이메일 주소입니다. 여러 가지 값 유효성..
[PHP] 정규표현식 preg_match() (1) - 한글 검사 패턴 [PHP] 정규표현식 preg_match() (2) - 영문/숫자 검사 패턴 휴대전화번호 유효성 검사 통신사마다 번호가 010으로 통일되어 가고 있긴 하지만 아직 011, 016, 017 등의 번호가 존재한다. 가장 앞자리에 오면서 010 뿐만 아니라 011, 016 등을 포함할 수 있는 패턴식을 작성하면 아래와 같다. OR은 버티칼 바 | 기호를 이용한다. 앞자리 구성은 끝마쳤으니 괄호 밖에 하이픈 기호 -를 붙여 두 번째 자리 구성 패턴식을 작성한다. 휴대전화 번호의 두 번째 자리는 0으로 시작하지 않고, 3자리이거나 4자리이다. 간격에서 대괄호의 안에 있다면 처음에 위치하면 안 되는 문자열을 지정한다는 뜻이다. 번호의 마지막 부..
[PHP] 정규표현식 preg_match() (1) - 한글 검사 패턴 *** 아래의 모든 검사 패턴은 1글자 이상임을 검사하는 플러스 기호 +가 삽입되어 있다. *** 1글자만 검사하기 위해서는 패턴식 내의 플러스 +를 제거한다. 영문 대문자 검사 패턴 $ptn = '/^[A-Z]+$/'; 영문 소문자 검사 패턴 $ptn = '/^[a-z]+$/'; 대문자와 소문자 관계없이 영문으로만 구성된 문자열 검사 패턴 $ptn = '/^[a-zA-Z]+$/'; 영문 대문자, 소문자 + 한글로 구성된 문자열 검사 패턴 $ptn = '/^[a-zA-Z가-힣]+$/'; 한글 문자열에 띄어쓰기와 마침표 검사 패턴 간격(대괄호) 사이에 마침표와 띄어쓰기를 삽입한다. $ptn = '/^[가-힣. ]+$/'; 숫자 검사 패..
정규표현식이란? 어떠한 값에 대해서 그 값이 한글로만 구성되어 있는지 영어로만 구성되어 있는지 또는 어떤 특별한 패턴을 지키고 있는지에 대해 체크할 때 사용하는 방식. 예를 들어 회원가입을 할 때 전화번호 또는 이메일 주소가 옳은 형식을 갖추었는지를 검사할 수 있다. preg_match() : 정규 표현식의 패턴을 사용할 때 사용되는 함수 구성 preg_match(패턴, 검사할 텍스트, 반환할 패턴 결과를 받을 변수) 패턴은 싱글쿼테이션 '과 슬래시 / 사이에 입력한다. 첫 번째 글자를 적용하는 기호는 캐럿 기호 이다. 끝나는 글자를 적용하는 기호는 달러 기호 $이다. 문자열의 값이 a인지 확인하는 패턴식을 적용한 예제이다. 패턴식은 검사할 바이트 수나 횟수를 지정하지 않으면 기본적으로 1byte를 검사..
include() : 하나의 파일을 여러 곳에서 사용할 수 있게 해주는 함수 웹 사이트를 구성하는 수많은 요소들 중에는 겹치는 부분들이 많다. 예전 사이트들을 보면 상단인 Header 부분과 하단인 Footer 부분에서 그모습을 주로 볼 수 있는데, 이런 경우에 매번 페이지마다 같은 코드를 작성하게 되면 많은 자원 낭비가 일어날 수 있다. include는 이를 해결하기 위해 사용할 수 있는 함수이다. 세 가지의 내용을 담은 코드를 작성했다. header.php
[PHP] 함수 만들기, 호출하기, 값 반환하기 보러 가기 아규먼트(argument)란? 함수를 호출할 때 함수에 전달하는 값의 명칭. round($num, 1) 라는 코드에서, $num과 1이 아규먼트가 된다. 쉽게 말해 값을 넘기는, 즉 함수를 호출하는 입장 에서 괄호 안에 들어가는 것들이다. 파라미터(parameter)란? 전달된 값을 받는 부분. 함수의 입장 에서 괄호로 전달받는 것들이라고 생각하면 쉽다. 코드 내용을 살펴보자. $num1과 $num2를 파라미터로 받는 함수 sum을 선언했다. 전달 받은 파라미터 num1과 num2를 더하여 sum이라는 변수에 대입하고, sum을 출력하는 함수이다. 7번 줄에서 sum 함수를 호출했고, 아규먼트 1과 3을 전달했다. 아규먼트 1은 sum 함수에서 ..
이전의 포스팅들과 같이 이미 존재하는 함수들은 내장함수 라고 불린다. 프로그래밍을 배우기 한참 전에 게임 매크로를 만드는 스크립트를 짜본 적이 있다. 그때는 변수가 뭔지도 몰랐고 얕게 필요한 부분만 배워서 함수의 존재도 당연 몰랐었다. 그렇게 같은 내용을 반복해서 붙인 결과 실제 100줄도 안되는 코드가 4천 줄이 넘었었다. 지금 생각하면 우스운 일이지만 그 때는 그게 최선이였다. 함수 만들기 함수의 필요성은 이렇다. 본인이 만든 기능이 다른 곳에서도 쓰이게 된다면 코드가 중복되게 되는데, 매번 같은 소스를 작성할 필요 없이 함수로 만들어서 필요시에 호출하면 된다. 기본적인 구성은 아래와 같다. 경우에 따라 전달값이 존재할 때도 있다. function 함수이름() { 실행내용 } 호출 할 때마다 Hell..
[PHP] 시간 함수 (1) - time(), date(), mktime() 보러 가기 getdate() : 현재 시간 정보를 배열로 반환해주는 함수 배열 정보를 리턴하기 때문에 원하는 키값을 가져오면 된다. 키 설명 키 설명 seconds 초 year 4자리 연도 minutes 분 weekday 요일 (문자 표현) hours 시 month 월. 문자 표현 mday 일 mon 월. 숫자 표현 (1~12) wday 요일. 일요일(0)~ 토요일(6) 0 타임 스탬프 Result 오늘은 2020년 3월 7일 입니다. checkdate() : 날짜값이 유효한지 확인해주는 함수 구성 반환 checkdate(월, 일, 년); true / false 2019년은 윤년이 아니므로 2월 29일이 존재할 수 없다. Res..
민57
'서버 개발' 카테고리의 글 목록 (2 Page)