톰캣 서버 구동시
Monthly Archives: 2월 2015
자바 특수문자 / 이메일 / 공백(스페이스) 체크 정규식
//특수문자 제거 하기 public static String StringReplace(String str){ String match = "[^\uAC00-\uD7A3xfe0-9a-zA-Z\\s]"; str =str.replaceAll(match, " "); return str; }
//이메일 유효성 public static boolean isEmailPattern(String email){ Pattern pattern=Pattern.compile("\\w+[@]\\w+\\.\\w+"); Matcher match=pattern.matcher(email); return match.find(); }
//연속 스페이스 제거 public static String continueSpaceRemove(String str){ String match2 = "\\s{2,}"; str = str.replaceAll(match2, " "); return str; }
자바 특수문자 체크 Java Reg
정규식을 이용한 자바 특수문자 체크입니다.
if (!nickname.matches([ 0 - 9 |a-z|A-Z|ㄱ-ㅎ|ㅏ-ㅣ|가-힝]*") { //특수문자가 있을 경우 } else { //특수문자가 없을 경우 } |
정규식 너무 편합니다.
자바스크립트 한글 체크 (정규식)
/정규식/.test(문자열)
정규식은 /와 / 사이에 쓴다. 아래처럼 말이다.
str = "test한글"; check = /[ㄱ-ㅎ|ㅏ-ㅣ|가-힣]/; if(check.test(str)) alert!("한글이 있습니다.");
위 코드는 앞서 출처라고 적은 곳에 있던 코드다. 문자열에 한글이 포함돼있는지 체크하는 코드를 애타게 찾고 있었는데 큰 도움을 받았다. 이렇게 간단한 메서드가 있었다니 말이다.
핵심은
/[ㄱ-ㅎ|ㅏ-ㅣ|가-힣]/
이거다. 이게 정규식(정규식 종류는 모르겠다.)에서 모든 한글을 표현하는 것이다. 알아 두면 좋을 것이다. 분석해 보면 의외로 간단하다. |는 ‘또는’을 의미하는 것이다. []는 안에 있는 놈들을 묶어 주는 역할을 한다. – 는 당연히 어디부터 어디까지를 의미한다.
그래서, ㄱ부터 ㅎ이나 ㅏ부터 ㅣ, 가부터 힣 사이에 있는 놈들이 있냐? 하고 묻는 거다.
이해를 직관적으로 돕기 위해 날코딩을 해 보자.
alert( /a/.test("aaa") );
이렇게 쓰면 얼럿 창에 true가 뜬다.
당연히 W3C Schools의 설명을 참고하면 도움이 된다 :
http://www.w3schools.com/jsref/jsref_regexp_test.asp
자바스크립트 3자리 콤마 (콤마찍기)
자바스크립트에서 숫자를 표기할때 3자리마다 콤마를 찍어줘야 할 때가 있다 자주 사용하는 기능인데 매번 만들기란 여간 귀찮은게 아니다.
자바스크립트로 돈계산할때 콤마 … 찍어주자 ㅋㅋ 돈계산을 즐거우니깐
//콤마찍기 function comma(str) { str = String(str); return str.replace(/(\d)(?=(?:\d{3})+(?!\d))/g, '$1,'); }
//콤마풀기 function uncomma(str) { str = String(str); return str.replace(/[^\d]+/g, ''); }
//input box에서 사용자 입력시 바로 콤마를 찍어주기 위한 함수도 추가 한다. function inputNumberFormat(obj) { obj.value = comma(uncomma(obj.value)); }
jstl 태그 함수
JSP Standard Tag Library
fn:contains(string, sbustring) string이 substring을 포함하면 return True fn:containsIgnoreCase(string, sbustring) 대소문자 관계없이 string이 substring을 포함하면 return True fn:endsWith(string, suffix) string이 suffix로 끝나면 return True fn:escapeXml(string) stting에 XML과 HTML에서 특별한 의미를 가진 문자들이 있으면, XML엔티티 코드로 바꿔준뒤 문자열 반환 fn:indexOf(string, sbustring) string에서 substring이 처음으로 나타나는 인덱스 반환 fn:join(array, separator) array요소들을 separator를 구분자로 하여 연결해서 반환 fn:length(item) item이 배열이나 컬렉션이면 요소의 객수를 문자열이면 문자의 객수를 반환 fn:replace(string, before, after) string내에 있는 before 문자열을 after 문자열로 모두 변경해서 반환 fn:split(string, separator) string내의 문자열 separetor에 따라 나누어서 배열로 구성해서 반환 fn:startsWith(string, prefix) string이 prefix로 시작하면 return True fn:substring(string, begin, end) string에서 begin인덱스에서 시작해서 end인덱스에 끝나는 부분의 문자열 반환 fn:substringAfter(string, sbustring) string에서 substring이 나타나는 이후의 문자열 반환 fn:substringBefore(string, sbustring) string에서 substring이 나타나는 이전의 문자열 반환 fn:toLowerCase(string) string을 모두 소문자로 바꿔 리턴 fn:toUpperCase(string) string을 모두 대문자로 바꿔 리턴 fn:trim(string) string앞뒤의 공백을 모두 제거하여 반환 fn:replace string의 문자 내용 변경 <c:out value="${fn:substring(문자내용,시작위치, 제거위치 )}" /> fmt:formatNumber number type 변환 자릿수 표현 <fmt:formatNumber value="${totalCount }" pattern="#,###" />
우분투 Maria DB 설치
서버에 마리아 DB를 설치해 봅시다…
root 계정 로그인 기준 ( 관리자 권한이 아닐시 맨 앞에 sudo 명령어를 붙입니다 )
0. MySQL이 설치 되어있을 경우…
# apt-get autoremove mysql-server
1. MySQL이 설치 안되어있을 경우 상위 생략
# apt-get install python-software-properties ...
2. 마리아db 키 저장
# apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db sudo: unable to resolve host dec Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /tmp/tmp.JLMOPnpFUR --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db gpg: requesting key 1BB943DB from hkp server keyserver.ubuntu.com gpg: key 1BB943DB: public key "MariaDB Package Signing Key <package-signing-key@mariadb.org>" imported gpg: no ultimately trusted keys found gpg: Total number processed: 1 gpg: imported: 1
3-1. 자동으로 리포지터리 경로를 추가할 경우 ( VERSION = 5.5 or 10.0 )
# add-apt-repository 'deb http://ftp.osuosl.org/pub/mariadb/repo/$(VERSION)/ubuntu precise main'
3-2. 수동으로 리포지터리 경로를 추가할 경우 ( VERSION = 5.5 or 10.0 )
# vi /etc/apt/sources.list 적절한 위치에 아래 문구 삽입 후 저장 deb http://ftp.osuosl.org/pub/mariadb/repo/$(VERSION)/ubuntu precise main deb-src http://ftp.osuosl.org/pub/mariadb/repo/$(VERSION)/ubuntu precise main 현재 안전화 릴리즈 버전 5.5
4. 패키지 업데이트
# apt-get update ... Ignore http://ftp.osuosl.org precise InRelease Recv:2 http://ftp.osuosl.org precise Release.gpg [189 B] Recv:4 http://ftp.osuosl.org precise Release [1,394 B] Recv:5 http://ftp.osuosl.org precise/main Sources [886 B] Recv:6 http://ftp.osuosl.org precise/main amd64 Packages [3,274 B] Recv:7 http://ftp.osuosl.org precise/main i386 Packages [3,280 B] Ignore http://ftp.osuosl.org precise/main TranslationIndex Ignore http://ftp.osuosl.org precise/main Translation-ko_KR Ignore http://ftp.osuosl.org precise/main Translation-ko Ignore http://ftp.osuosl.org precise/main Translation-en ...
5. MariaDB 설치
# apt-get install mariadb-server
6. 확인
# mysql -u root -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 34 Server version: 5.5.29-MariaDB-mariadb1~precise-log mariadb.org binary distribution Copyright (c) 2000, 2012, Oracle, Monty Program Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> _
Hello MariaDB
jQuery select box 관련 api
■ jQuery select box 관련 api // select box ID로 접근하여 선택된 값 읽기 $("#셀렉트박스ID option:selected").val(); // select box Name로 접근하여 선택된 값 읽기 $("select[name=셀렉트박스name]").val(); // 같은 방식으로 span과 같은 다른 태그도 접근 가능하다~ $("span[name=셀렉트박스name]").text(); // 선택된 값의 index를 불러오기 var index = $("#셀렉트박스ID option").index($("#셀렉트박스ID option:selected")); // 셀렉트 박스에 option값 추가하기 $("#셀렉트박스ID").append("<option value='1'>1번</option>"); // 셀렉트 박스 option의 맨앞에 추가 할 경우 $("#셀렉트박스ID").prepend("<option value='0'>0번</option>"); // 셀렉트 박스의 html 전체를 변경할 경우 $("#셀렉트박스ID").html("<option value='1'>1차</option><option value='2'>2차</option>"); // 셀렉트 박스의 index별로 replace를 할 경우 // 해당 객체를 가져오게 되면, option이 다수가 되므로 배열 객체가 되어 eq에 index를 넣어 개별 개체를 선택할 수 있다. $("#셀렉트박스ID option:eq(1)").replaceWith("<option value='1'>1차</option>"); // 직접 index 값을 주어 selected 속성 주기 $("#셀렉트ID option:eq(1)").attr("selected", "selected"); // text 값으로 selected 속성 주기 $("#셀렉트ID")val("1번").attr("selected", "selected"); // value 값으로 selected 속성 주기 $("#셀렉트ID").val("1"); // 해당 index item 삭제하기 $("#셀렉트ID option:eq(0)").remove(); // 첫번째, 마지막 item 삭제하기 $("#셀렉트ID option:first").remove(); $("#셀렉트ID option:last").remove(); // 선택된 옵션의 text, value 구하기 $("#셀렉트ID option:selected").text(); $("#셀렉트ID option:selected").val(); // 선택된 옵션의 index 구하기 $("#셀렉트ID option").index($("#셀렉트ID option:selected")); // 셀렉트박스의 아이템 갯수 구하기 $("#셀렉트ID option").size(); // 선택된 옵션 전까지의 item 갯수 구하기 $("#셀렉트ID option:selected").prevAll().size(); // 선택된 옵션 후의 item 갯수 구하기 $("#셀렉트ID option:selected").nextAll().size(); // 해당 index item 이후에 option item 추가 하기 $("#셀렉트ID option:eq(0)").after("<option value='3'>3번</option>"); // 해당 index item 전에 option item 추가하기 $("#셀렉트ID option:eq(3)").before("<option value='2'>2번</option>"); // 해당 셀렉트 박스에 change event binding 하기 $("#selectID").change(function() { alert($(this).val()); alert($(this).children("option:selected").text()); });
자바스크립트 숫자만 입력 받기(한글 입력 불가)
function onlyNumberInput() { var code = window.event.keyCode; if ((code > 34 && code < 41) || (code > 47 && code < 58) || (code > 95 && code < 106) || code == 8 || code == 9 || code == 13 || code == 46) { window.event.returnValue = true; return; } window.event.returnValue = false; } 이때, 텍스트 필드에 아래의 Style을 붙여주면 허용하는 아스키 코드값의 키만 입력가능하게 셋팅할 수 있다. <input type = "text" name ="isbn" id="isbn" value="" maxlength="13" onKeyDown = "javascript:onlyNumberInput()" style='IME-MODE: disabled' /> //코드 업그레이드 // IE외의 브라우저에서도 동작할 수 있도록 변경 function onlyNumberInput2( Ev ) { if (window.event) // IE코드 var code = window.event.keyCode; else // 타브라우저 var code = Ev.which; if ((code > 34 && code < 41) || (code > 47 && code < 58) || (code > 95 && code < 106) || code == 8 || code == 9 || code == 13 || code == 46) { window.event.returnValue = true; return; } if (window.event) window.event.returnValue = false; else Ev.preventDefault(); } <input type = "text" name ="isbn" id="isbn" value="" maxlength="13" onKeyDown = "javascript:onlyNumberInput(event)" style='IME-MODE: disabled' />
CSS Tip ime-mode 속성 Input 한글 영문
가끔 사용 하면서 잊어버리는 CSS Tip.
여기에 저장 해 놓으면, 좀더 수월 할 것 같은 생각에 포스팅 해봅니다.
ime-mode 속성은 IME(Input Method Editor)의 상태를 반환하거나 설정합니다.
로그인 폼에서 아이디와 비밀번호를 입력하는 경우나 우편번호를 찾기 위해서 동이름을 입력하는 경우 한글/영문을 기본으로 지정해 놓으면 상당히 편리한데 이런 경우 사용하는 속성이라고 할 수 있습니다.
ime-mode 속성의 값은 아래와 같이 3가지로 지정할 수 있습니다.
<input type=’text’ style=’ime-mode:active‘ /> 시작 시 한글 입력
<input type=’text’ style=’ime-mode:inactive‘ /> 시작 시 영문 입력
<input type=’text’ style=’ime-mode:disabled‘ /> 한글 입력 방지