달력

11

« 2019/11 »

  •  
  •  
  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
2017.11.22 09:33

Input Text의 유효성 검사 Language/JavaScript2017.11.22 09:33

공통.js에 아래 부분을 넣는다. 


<script>

var essentialCheckArr = [];

//저장 전에 호출

//필수 항목에 값이 다 있을 경우에만 true 반환

function checkEssential(){

for(var i=0;i<essentialCheckArr.length;i++){

var tmpStr = $('#'+ essentialCheckArr[i]).val();

if( tmpStr == '' || tmpStr == null ){

alert("필수 입력사항입니다.");

$('#'+ essentialCheckArr[i]).focus();

return false;

}

}

return true;

}

/* 

* 유효성 검사 기능

* inputObj 검사를 할 대상 Object

* validFuncArray 검사 항목 지정(배열 형태) : ex) ["isNumer","spaceCheck"]

* maxLength 최대 길이 체크 ( 0 일 경우 제외 )

* essential 필수여부 'Y'/'N' 값이 Y인 경우 checkEssential function을 호출할 경우 해당 항목에 값이 있는지 체크하여 결과값을 반환한다.

*/

function textValidation(inputObj, validFuncArray, maxLength, essential){

if( essential == 'Y'){

essentialCheckArr.push( inputObj.attr("id") );

}

inputObj.bind('focusin keyup', function(){ // input태그에 포커스가 들어오거나 키가 눌렸을 때 실행됨

var inputValue = inputObj.val();

if( maxLength > 0 ){

if( inputValue.length > maxLength) {

alert("<spring:message code='cmn.vaild.maxLen' />");

inputObj.val( inputValue.substring(0, maxLength ) );

inputObj.focus();

return;

}

}

var funcResult = null; // 함수 실행 결과를 담을 flag

for(i=0; i<validFuncArray.length; i++){ // 검증에 사용할 함수명 배열을 반복문으로 돌린다.

var funcName = validFuncArray[i]; // 배열에서 함수명을 하나씩 뽑아낸다. 

var funcObj = window[funcName]; // 함수명(string)을 객체(object)로 받는다.

funcResult = funcObj(inputValue); //  해당 함수를 실행하여 결과 메시지를 변수에 담는다. 만약 함수 전체를 통과하면 Null을 반환한다.

if(funcResult != null){ // 검증에 통과하지 못한 함수가 있을 경우 반복문 탈출

break;

}

}

if(funcResult != null){ // 검증에 통과하지 못했을 때,

alert(funcResult); 

inputObj.val( inputValue.substring(0, inputValue.length -1 ) );

inputObj.focus();

}else{ // 검증에 통과했을 때,

});

}

/**

* 입력값이 특정 문자만으로 되어있는지 체크하며

* 특정문자만을 허용하려 할때 사용한다.

*/

function containsCharsOnly(input, chars){

for (var i=0; i < input.length; i++){

if (chars.indexOf(input.charAt(i)) == -1){

return false;

}

}

return true;

}

 

// 영문과 숫자만 입력받도록 검증

function isAlphabetNumber(str){

var check = /^[A-Za-z0-9]*$/;

if(check.test(str)){

return "영문과 숫자 입력이 가능합니다.";

}

return null;

}

// 영문만 입력받도록 검증

function isAlphabet(str){

var check = /[^A-Za-z\s]/;

if(check.test(str)){

return "영문만 입력이 가능합니다.";

}

return null;

}


// 공백 허용하지 않도록 검증

function spaceCheck(inputVal){

var invalid = " ";

if(inputVal.indexOf(invalid) > -1){

return "공백이 허용되지 않습니다.";

}else{

return null;

}

}

/**

* 입력값이 알파벳 대문자인지 체크한다

*/

function isUpperCase(input){

var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

if( containsCharsOnly(input, chars) ) return null;

else return  "대문자만 입력가능합니다.";

}

/**

* 입력값이 알파벳 소문자인지 체크한다

*/

function isLowerCase(input){

var chars = "abcdefghijklmnopqrstuvwxyz";

if( containsCharsOnly(input, chars) ) return null;

else return  "소문자만 입력가능합니다.";

}

/**

* 입력값이 숫자만 있는지 체크한다.

*/

function isNumer(input){

var chars = "0123456789.";

if( containsCharsOnly(input, chars) ) return null;

else return  "숫자만 입력가능합니다.";

}

/**

* 입력값이 이메일 형식인지 체크한다

*/

function isValidEmail(input){

       var format = /^((\w|[\-\.])+)@((\w|[\-\.])+)\.([A-Za-z]+)$/;

       if(format.test(input)) return "이메일 형식으로 작성하여야 합니다.";

       else return null ;

}


/**

* 입력값이 전화번호 형식(숫자-숫자-숫자)인지 체크한다

*/

function isValidPhone(input){

       var format = /^(\d+)-(\d+)-(\d+)$/;

       if(format.test(input)) return "전화번호 형식으로 작성하여야 합니다.";

       else return null ;

}

</script>




--------------------------------------------------------------------------------------------------------------

사용법

//input text를 event에 등록
$(document).ready(function() {
    ...
    textValidation( $("#ID"), ["isNumer","spaceCheck"], 10, 'Y' );
}


//저장 전 checkEssential()를 호출하여 필수체크로 정의된 input 중 값이 없는게 있는지 체크한다.

$('#saveBtn').click(function(){

if( checkEssential() ){

Save();                                

}

});



Posted by 현자

댓글을 달아 주세요

  1. 코락 CoRock 2019.03.08 10:13 신고  댓글주소  수정/삭제  댓글쓰기

    Validation 할 때 도움이 되었습니다
    좋은 글 감사합니다~

2013.07.26 21:38

IE문서모드 브라우저 모드 설정 Language/HTML2013.07.26 21:38

과거 HTTP 표준이 지켜지지 않을때 IE가 시장을 지배한탓에
IE8에는 여러가지 모드가 있다.
일반적으로 잘 알려진 것이 호환성 모드이다.
IE8이 표준에 대한 지원을 강화함에 따라 이전 전용코드들에 대해서 문제가 발생하는데 이를 해결하기위한 땜빵이 호환성 모드이다.
표준과 IE전용을 적당히 석어서 랜더링한다.

IE8에보면 F12로 개발자모드 창을 띄울수있다.
그곳에 보면 모드가 2종류가있다.
    브라우져모드 : 7 / 8 / 8호환성
    문서모드 : 7표준 /8표준 / 쿼크

이것은 "현재의 문서를 어떤방식으로 랜더링을 할것인가?" 를 선택하는것이다.
브라우져 모드는 브라우져의 기본 셋팅을 정하는것이고
문서모드는 자신의 랜더링방식을 명시하는것이다.
(기능적으로 둘은 동일한데 어디서 정의를 하는가의 차이이다.)

브라우져 모드의 설정은 메뉴에 호환성보기가 있고 레지스트리를 보면
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_NATIVE_DOCUMENT_MODE]
"MyApplication.exe"=dword:13880
이런 형태로 저장되어있다.

문서모드는 문서의 해더에 아래와 같이 설정하면 브라우져모드의 설정보다 우선하여 적용된다.
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
 
DTD 정의가 있는 경우: Standard Mode
DTD 정의가 없는 경우: Quirks Mode
 Standard Mode 설정 (DTD 정의가 있는 경우)
 <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />

 
설정의 세부 값은 아래와 같다.
 Quirks Mode 설정 (DTD 정의가 없는 경우)
 <meta http-equiv="X-UA-Compatible" content="IE=5" />
 Internet Explorer 7 Standards 모드
 <meta http-equiv="X-UA-Compatible" content="IE=7" />
 Internet Explorer 8 Standards 모드
 <meta http-equiv="X-UA-Compatible" content="IE=8" />
 가장 최신 Internet Explorer 버전의 Standards 모드
 <meta http-equiv="X-UA-Compatible" content="IE=Edge" />

 

=========================================================================================================

그리하야... 내가 짠 소스뮤,

 

<meta http-equiv="Content-Type"  content="text/html; charset=EUC-KR" />   
<meta http-equiv="Page-Enter" content="BlendTrans(Duration=0.4)"/>
<meta http-equiv="Page-Exit" content="BlendTrans(Duration=0.4)"/>
<meta http-equiv="X-UA-Compatible" id="X-UA-Compatible" content="IE=9" />
<meta http-equiv="X-UA-Compatible" id="browser_mode" content="IE=9" />
<script>
var name = navigator.appName, ver = navigator.appVersion,
ver_int = parseInt(navigator.appVersion), ua = navigator.userAgent, infostr;

//alert(ver);

if(name == "Microsoft Internet Explorer"){
 if(ver.indexOf("MSIE 9.0") != -1)  {
  document.getElementById("X-UA-Compatible").setAttribute("content", "IE=9");
 // document.getElementById("browser_mode").setAttribute("content", "IE=EmulateIE9");
 }else if(ver.indexOf("MSIE 8.0") != -1)  {
  document.getElementById("X-UA-Compatible").setAttribute("content", "IE=8;IE8");
 // document.getElementById("browser_mode").setAttribute("content", "IE=EmulateIE8");
 }else if(ver.indexOf("MSIE 7.0") != -1)  {
  document.getElementById("X-UA-Compatible").setAttribute("content", "IE=7");
 }else{
  document.getElementById("X-UA-Compatible").setAttribute("content", "IE=edge");
 }
}

</script>



원문출처 : http://blog.naver.com/PostView.nhn?blogId=xcynicx&logNo=110129450755

Posted by 현자

댓글을 달아 주세요

2013.06.05 11:45

mapArea 영역 찾기 Language/HTML2013.06.05 11:45

 

mapArea.zip

1. 위의 파일을 다운 받는다.

 

2. 받은 파일을 압출을 푼다.

 

3. 필요한 이미지 파일을 압축푼 폴더로 복사한다.

 

4. 파일명을 bmw.jpg 로 수정

 

5. test.html 실행

 

6. Load Image 클릭

 

7. New Link를 클릭하면 생성 되는 이미지 영역을 원하는 크기 및 위치로 이동

 

8. 하단부에 Make Code 를 누르면 map area 영역이 설정된 코드가 나온다.

 

9. 찾아서 쓰면 끝~

Posted by 현자

댓글을 달아 주세요

map area 사용시 a 태그를 사용하지 않으면 기본 커서로 표기가 된다.

커서 모양 사용 방법은 다음과 같다.

 

<img src="이미지명" usemap="#Map" id="imgID" />

<map name="Map" id="Map">

<area shap="rect" coords="0,0,100,100" onMouseOver="imgID.style.cursor='hand'" onMouseOut="imgID.style.cursor='hand'" />

</map>

Posted by 현자

댓글을 달아 주세요

2012.03.20 14:20

formatDate 12/24시간 설정 Language/JAVA2012.03.20 14:20

<jsp:useBean id="today" class="java.util.Date" />
<fmt:formatDate value="${today}" var="day" type="DATE" pattern="yyyy/MM/dd HH:mm" /> <!-- 24시간제 -->

<fmt:formatDate value="${today}" var="day" type="DATE" pattern="yyyy/MM/dd hh:mm" /> <!-- 12시간제 -->


Posted by 현자

댓글을 달아 주세요

2012.03.08 10:58

System.getProperty("user.home") Language/JAVA2012.03.08 10:58

System.getProperty("framework.conf", file.getAbsolutePath());

 

public static String getProperty(String key,  String def)

 

Parameters:

key - the name of the system property.
def - a default value.
Returns:
the string value of the system property, or the default value if there is no property with that key.
Throws:
SecurityException - if a security manager exists and its checkPropertyAccess method doesn't allow access to the specified system property.
NullPointerException - if key is null.
IllegalArgumentException - if key is empty.
See Also:
setProperty(java.lang.String, java.lang.String), SecurityManager.checkPropertyAccess(java.lang.String), getProperties()

시스템 프로퍼티란 시스템 환경에 관한 정보를 말한다.

System 클래스에 있는 getProperty() 메서드를 이용하면,
현재 사용하고 있는 환경 정보를 얻을 수 있다.
System 클래스를 이용하기 위해서는 java.util 패키지를 임포트 한다.


import java.util.*;
.
.
String version = System.getProperty("java.version");

 

주요 프로퍼티는 아래와 같다.
프로퍼티 : 의미 : 표시 예
java.version : Java 의 버전 : 1.4.2_13
java.vendor : Java 의 벤더(공급자) : Sun Microsystems Inc.
java.vendor.url : Java 의 벤더의 URL : http://java.sun.com
java.home : Java 를 인스톨한 디렉토리 : c:\j2sdk1.4.2_13
java.class.version : Java 클래스의 버전 : 48
java.class.path : Java 클래스가 존재하는 경로 : c:\Java
java.ext.dir : 확장기능 클래스를 포함하는 디렉토리 : null (미설정의 경우)
os.name : OS 의 이름 : Windows XP
os.arch : OS 의 아키텍처 : x86
os.version : OS 의 버전 : 5.1
file.separator : 파일을 구분하는 문자 : \(Unix 에서는 /)
path.separator : 경로를 구분하는 문자 : (Unix 에서는 :)
line.separator : 행을 구분하는 문자(개행코드) : \n
user.name : 사용자 계정 : Na
user.home : 사용자 홈 디렉토리 : c:\Document and Settings\Na
user.dir : 현재 작업 디렉토리 : c:\Java

원문주소 : http://blog.naver.com/whitefre/140066180384
Posted by 현자

댓글을 달아 주세요

javax.servlet.ServletException: org/springframework/jdbc/core/RowMapper
java.lang.NoClassDefFoundError: org/springframework/jdbc/core/RowMapper

에러 발생 시 spring.jar 파일을 WEB-INF/lib 폴더에 넣어서 해결~

spring.jar 파일

Posted by 현자

댓글을 달아 주세요

//선언
 function getSelectRadioBtn(radioVal){
  for(var i=0;i<radioVal.length;i++){
   if(radioVal[i].checked)
    return radioVal[i].value;
  }
  return -1;
 }

//호출
getSelectRadioBtn( document.getElementsByName('isuseroad') );
Posted by 현자

댓글을 달아 주세요

UnsupportedEncodingException  에러 발생 시
예외처리 로직이 필요하다.

try ~ catch로 해결~
Posted by 현자

댓글을 달아 주세요

2011.12.22 15:43

Calender 타입을 문자열로 변경 Language/JAVA2011.12.22 15:43

Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
String str = sdf.format(cal.getTime());

Posted by 현자

댓글을 달아 주세요