웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
필드값의 유효성을 검사하는 함수
2002.10.18 04:27
/**
* 입력값이 NULL인지 체크
*/
function isNull(input) {
if (input.value == null || input.value == "") {
return true;
}
return false;
}
/**
* 입력값에 스페이스 이외의 의미있는 값이 있는지 체크
* ex) if (isEmpty(form.keyword)) {
* alert("검색조건을 입력하세요.");
* }
*/
function isEmpty(input) {
if (input.value == null || input.value.replace(/ /gi,"") == "") {
return true;
}
return false;
}
/**
* 입력값에 특정 문자(chars)가 있는지 체크
* 특정 문자를 허용하지 않으려 할 때 사용
* ex) if (containsChars(form.name,"!,*&^%$#@~;")) {
* alert("이름 필드에는 특수 문자를 사용할 수 없습니다.");
* }
*/
function containsChars(input,chars) {
for (var inx = 0; inx < input.value.length; inx++) {
if (chars.indexOf(input.value.charAt(inx)) != -1)
return true;
}
return false;
}
/**
* 입력값이 특정 문자(chars)만으로 되어있는지 체크
* 특정 문자만 허용하려 할 때 사용
* ex) if (!containsCharsOnly(form.blood,"ABO")) {
* alert("혈액형 필드에는 A,B,O 문자만 사용할 수 있습니다.");
* }
*/
function containsCharsOnly(input,chars) {
for (var inx = 0; inx < input.value.length; inx++) {
if (chars.indexOf(input.value.charAt(inx)) == -1)
return false;
}
return true;
}
/**
* 입력값이 알파벳인지 체크
* 아래 isAlphabet() 부터 isNumComma()까지의 메소드가
* 자주 쓰이는 경우에는 var chars 변수를
* global 변수로 선언하고 사용하도록 한다.
* ex) var uppercase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
* var lowercase = "abcdefghijklmnopqrstuvwxyz";
* var number = "0123456789";
* function isAlphaNum(input) {
* var chars = uppercase + lowercase + number;
* return containsCharsOnly(input,chars);
* }
*/
function isAlphabet(input) {
var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
return containsCharsOnly(input,chars);
}
/**
* 입력값이 알파벳 대문자인지 체크
*/
function isUpperCase(input) {
var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
return containsCharsOnly(input,chars);
}
/**
* 입력값이 알파벳 소문자인지 체크
*/
function isLowerCase(input) {
var chars = "abcdefghijklmnopqrstuvwxyz";
return containsCharsOnly(input,chars);
}
/**
* 입력값에 숫자만 있는지 체크
*/
function isNumber(input) {
var chars = "0123456789";
return containsCharsOnly(input,chars);
}
/**
* 입력값이 알파벳,숫자로 되어있는지 체크
*/
function isAlphaNum(input) {
var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
return containsCharsOnly(input,chars);
}
/**
* 입력값이 숫자,대시(-)로 되어있는지 체크
*/
function isNumDash(input) {
var chars = "-0123456789";
return containsCharsOnly(input,chars);
}
/**
* 입력값이 숫자,콤마(,)로 되어있는지 체크
*/
function isNumComma(input) {
var chars = ",0123456789";
return containsCharsOnly(input,chars);
}
/**
* 입력값이 사용자가 정의한 포맷 형식인지 체크
* 자세한 format 형식은 자바스크립트의 `regular expression`을 참조
*/
function isValidFormat(input,format) {
if (input.value.search(format) != -1) {
return true; //올바른 포맷 형식
}
return false;
}
/**
* 입력값이 이메일 형식인지 체크
* ex) if (!isValidEmail(form.email)) {
* alert("올바른 이메일 주소가 아닙니다.");
* }
*/
function isValidEmail(input) {
// var format = /^(S+)@(S+).([A-Za-z]+)$/;
var format = /^((w|[-.])+)@((w|[-.])+).([A-Za-z]+)$/;
return isValidFormat(input,format);
}
/**
* 입력값이 전화번호 형식(숫자-숫자-숫자)인지 체크
*/
function isValidPhone(input) {
var format = /^(d+)-(d+)-(d+)$/;
return isValidFormat(input,format);
}
/**
* 입력값의 바이트 길이를 리턴
* ex) if (getByteLength(form.title) > 100) {
* alert("제목은 한글 50자(영문 100자) 이상 입력할 수 없습니다.");
* }
* Author : Wonyoung Lee
*/
function getByteLength(input) {
var byteLength = 0;
for (var inx = 0; inx < input.value.length; inx++) {
var oneChar = escape(input.value.charAt(inx));
if ( oneChar.length == 1 ) {
byteLength ++;
} else if (oneChar.indexOf("%u") != -1) {
byteLength += 2;
} else if (oneChar.indexOf("%") != -1) {
byteLength += oneChar.length/3;
}
}
return byteLength;
}
/**
* 입력값에서 콤마를 없앤다.
*/
function removeComma(input) {
return input.value.replace(/,/gi,"");
}
/**
* 선택된 라디오버튼이 있는지 체크
*/
function hasCheckedRadio(input) {
if (input.length > 1) {
for (var inx = 0; inx < input.length; inx++) {
if (input[inx].checked) return true;
}
} else {
if (input.checked) return true;
}
return false;
}
/**
* 선택된 체크박스가 있는지 체크
*/
function hasCheckedBox(input) {
return hasCheckedRadio(input);
}
자세한 설명은 생략되어 있지만.. 큰무리 없이 사용가능할것 같습니다. ^.^
* 입력값이 NULL인지 체크
*/
function isNull(input) {
if (input.value == null || input.value == "") {
return true;
}
return false;
}
/**
* 입력값에 스페이스 이외의 의미있는 값이 있는지 체크
* ex) if (isEmpty(form.keyword)) {
* alert("검색조건을 입력하세요.");
* }
*/
function isEmpty(input) {
if (input.value == null || input.value.replace(/ /gi,"") == "") {
return true;
}
return false;
}
/**
* 입력값에 특정 문자(chars)가 있는지 체크
* 특정 문자를 허용하지 않으려 할 때 사용
* ex) if (containsChars(form.name,"!,*&^%$#@~;")) {
* alert("이름 필드에는 특수 문자를 사용할 수 없습니다.");
* }
*/
function containsChars(input,chars) {
for (var inx = 0; inx < input.value.length; inx++) {
if (chars.indexOf(input.value.charAt(inx)) != -1)
return true;
}
return false;
}
/**
* 입력값이 특정 문자(chars)만으로 되어있는지 체크
* 특정 문자만 허용하려 할 때 사용
* ex) if (!containsCharsOnly(form.blood,"ABO")) {
* alert("혈액형 필드에는 A,B,O 문자만 사용할 수 있습니다.");
* }
*/
function containsCharsOnly(input,chars) {
for (var inx = 0; inx < input.value.length; inx++) {
if (chars.indexOf(input.value.charAt(inx)) == -1)
return false;
}
return true;
}
/**
* 입력값이 알파벳인지 체크
* 아래 isAlphabet() 부터 isNumComma()까지의 메소드가
* 자주 쓰이는 경우에는 var chars 변수를
* global 변수로 선언하고 사용하도록 한다.
* ex) var uppercase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
* var lowercase = "abcdefghijklmnopqrstuvwxyz";
* var number = "0123456789";
* function isAlphaNum(input) {
* var chars = uppercase + lowercase + number;
* return containsCharsOnly(input,chars);
* }
*/
function isAlphabet(input) {
var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
return containsCharsOnly(input,chars);
}
/**
* 입력값이 알파벳 대문자인지 체크
*/
function isUpperCase(input) {
var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
return containsCharsOnly(input,chars);
}
/**
* 입력값이 알파벳 소문자인지 체크
*/
function isLowerCase(input) {
var chars = "abcdefghijklmnopqrstuvwxyz";
return containsCharsOnly(input,chars);
}
/**
* 입력값에 숫자만 있는지 체크
*/
function isNumber(input) {
var chars = "0123456789";
return containsCharsOnly(input,chars);
}
/**
* 입력값이 알파벳,숫자로 되어있는지 체크
*/
function isAlphaNum(input) {
var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
return containsCharsOnly(input,chars);
}
/**
* 입력값이 숫자,대시(-)로 되어있는지 체크
*/
function isNumDash(input) {
var chars = "-0123456789";
return containsCharsOnly(input,chars);
}
/**
* 입력값이 숫자,콤마(,)로 되어있는지 체크
*/
function isNumComma(input) {
var chars = ",0123456789";
return containsCharsOnly(input,chars);
}
/**
* 입력값이 사용자가 정의한 포맷 형식인지 체크
* 자세한 format 형식은 자바스크립트의 `regular expression`을 참조
*/
function isValidFormat(input,format) {
if (input.value.search(format) != -1) {
return true; //올바른 포맷 형식
}
return false;
}
/**
* 입력값이 이메일 형식인지 체크
* ex) if (!isValidEmail(form.email)) {
* alert("올바른 이메일 주소가 아닙니다.");
* }
*/
function isValidEmail(input) {
// var format = /^(S+)@(S+).([A-Za-z]+)$/;
var format = /^((w|[-.])+)@((w|[-.])+).([A-Za-z]+)$/;
return isValidFormat(input,format);
}
/**
* 입력값이 전화번호 형식(숫자-숫자-숫자)인지 체크
*/
function isValidPhone(input) {
var format = /^(d+)-(d+)-(d+)$/;
return isValidFormat(input,format);
}
/**
* 입력값의 바이트 길이를 리턴
* ex) if (getByteLength(form.title) > 100) {
* alert("제목은 한글 50자(영문 100자) 이상 입력할 수 없습니다.");
* }
* Author : Wonyoung Lee
*/
function getByteLength(input) {
var byteLength = 0;
for (var inx = 0; inx < input.value.length; inx++) {
var oneChar = escape(input.value.charAt(inx));
if ( oneChar.length == 1 ) {
byteLength ++;
} else if (oneChar.indexOf("%u") != -1) {
byteLength += 2;
} else if (oneChar.indexOf("%") != -1) {
byteLength += oneChar.length/3;
}
}
return byteLength;
}
/**
* 입력값에서 콤마를 없앤다.
*/
function removeComma(input) {
return input.value.replace(/,/gi,"");
}
/**
* 선택된 라디오버튼이 있는지 체크
*/
function hasCheckedRadio(input) {
if (input.length > 1) {
for (var inx = 0; inx < input.length; inx++) {
if (input[inx].checked) return true;
}
} else {
if (input.checked) return true;
}
return false;
}
/**
* 선택된 체크박스가 있는지 체크
*/
function hasCheckedBox(input) {
return hasCheckedRadio(input);
}
자세한 설명은 생략되어 있지만.. 큰무리 없이 사용가능할것 같습니다. ^.^
댓글 0
제목 | 글쓴이 | 날짜 |
---|---|---|
네트워크 보안 - 스팸메일 추적 방법 [10] | 정후니 | 2001.09.29 |
[팁] mysql root password 분실했을 때 [5] | 최상훈 | 2001.09.27 |
윈도우에 설치된 MySQL의 root 패스워드 분실시 대처방법 [7] | Mintzz | 2001.04.29 |
리눅스 스왑 파티션 만들기 | skywalkers | 2001.01.03 |
MySQL DB(디비)와 Table(테이블) Delete(삭제/초기화)하는 방법 [16] | 차카게살자 | 2002.01.01 |
회원가입할때 중복막기 [4] | 김도훈449 | 2009.01.25 |
?=down [4] | L-Goon | 2009.01.19 |
간단한 ajax 채팅소스입니다. [12] | 제로저아 | 2008.10.23 |
기초설명_변수를 알기전에.. [2] | ifnelse | 2008.07.28 |
기초설명_자바스크립트와 PHP와의 가장 큰 차이점 [4] | ifnelse | 2008.07.28 |
기초설명_알고리즘(algorithm) [2] | ifnelse | 2008.07.28 |
PHP_9_My-sql함수를 이용한 프로그램_1 | 아무흐 | 2008.07.15 |
PHP 가변변수와 이항연산자에 대해 | 특급잠수부 | 2008.05.03 |
PHP에 입문하시는 분들을 위해 적어봅니다. [5] | 특급잠수부 | 2008.04.26 |
PHP_7_간단한 폼메일 만들기 [1] | 아무흐 | 2008.04.03 |
GD를 이용해 즉석에서 룰오버 링크버튼 만들기 | 김현석181 | 2008.03.29 |
PHP_6_간단한 폼 구구단을 만들어 보자 [2] | 아무흐 | 2008.03.26 |
PHP_5_IF 문과 기본 연산자 [1] | 아무흐 | 2008.03.26 |
PHP_4_변수 | OGIT | 2008.03.25 |
해시로부터 주민등록번호 복호화 [2] | fallstoofast | 2008.03.12 |