쓸모있는 정규식 모음 JS버전
인터넷정보2007. 10. 10. 13:57
/*-------------------------------------------------------------------------------/
만든이 : mins
mins01@lycos.co.kr
http://mins01.woobi.co.kr
/--------------------------------------------------------------------------------/
사용법
파일 첨부후
해당 input 개체에
onKeyDown="nr_phone(this);" onKeyPress="nr_phone(this);" onKeyUp="nr_phone(this);"
위 이벤트를 등록.
<!-- 노멀라이즈 함수, 숫자,영어,주민번,사업자번호 체크.-->
<script language='JavaScript' src='<?=$board_skin?>/nr_func.js'></script>
<input type=text name='name' size=20 maxlength=20 onKeyDown="nr_phone(this);" onKeyPress="nr_phone(this);" onKeyUp="nr_phone(this);">
/-------------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------------*/
/*
한글의 경우 초성을 포함하지 않으면
onKey~~~ 로 인해서 한글을 적을 수 없습니다.
onKey~~~ 이벤트는 빼주시고
onchange 와 onblur!! 등 이벤트에 등록해주세요.
*/
// 한글만 입력받기 (초성체 무시)
// 나머지 글자 무시
function nr_han(this_s,type){
/*
type
-> 'c' : 초성 포함
-> 's' : 초성 포함 + 공백 포함
-> '' : 초성, 공백 무시
*/
temp_value = this_s.value.toString();
regexp = '';
repexp = '';
switch(type){
case 'c': regexp = /[^ㄱ-ㅎ가-힣]/g;break;
case 's': regexp = /[^ㄱ-ㅎ가-힣s]/g;break;
case '': regexp = /[^가-힣]/g; break;
default : regexp = /[^ㄱ-ㅎ가-힣s]/g;
}
if(regexp.test(temp_value))
{
temp_value = temp_value.replace(regexp,repexp);
this_s.value = temp_value;
}
}
/*-------------------------------------------------------------------------------*/
// 한글만 입력받기 (초성체 포함)
// 나머지 글자 무시
function nr_han_cho(this_s){
nr_han(this_s,'c');
}
/*-------------------------------------------------------------------------------*/
// 한글만 입력받기 (초성체 포함, 공백 포함)
// 나머지 글자 무시
function nr_han_cho_space(this_s){
nr_han(this_s,'s');
}
/*-------------------------------------------------------------------------------*/
function nr_numeng(this_s){
temp_value = this_s.value.toString();
regexp = /[^0-0a-zA-Z]/g;
repexp = '';
temp_value = temp_value.replace(regexp,repexp);
this_s.value = temp_value;
}
/*-------------------------------------------------------------------------------*/
// 나머지 글자 무시
function nr_num(this_s,type){
/*
type
-> 'int' : 양의 정수
-> 'float' : 양의 실수
-> '-int' : 음의 정수 포함
-> '-int' : 음의 실수 포함
*/
temp_value = this_s.value.toString();
regexp = /[^-.0-9]/g;
repexp = '';
temp_value = temp_value.replace(regexp,repexp);
regexp = '';
repexp = '';
switch(type){
case 'int': regexp = /[^0-9]/g; break;
case 'float':regexp = /^(-?)([0-9]*)(.?)([^0-9]*)([0-9]*)([^0-9]*)/; break;
case '-int': regexp = /^(-?)([0-9]*)([^0-9]*)([0-9]*)([^0-9]*)/;break;
case '-float':regexp = /^(-?)([0-9]*)(.?)([^0-9]*)([0-9]*)([^0-9]*)/; break;
default : regexp = /[^0-9]/g; break;
}
switch(type){
case 'int':repexp = '';break;
case 'float':repexp = '$2$3$5';break;
case '-int': repexp = '$1$2$4';break;
case '-float':repexp = '$1$2$3$5'; break;
default : regexp = /[^0-9]/g; break;
}
temp_value = temp_value.replace(regexp,repexp);
this_s.value = temp_value;
}
// 양의 정수만 입력받기
function nr_num_int(this_s){
nr_num(this_s,'int');
}
// 양의 실수만 입력받기
function nr_num_float(this_s){
nr_num(this_s,'float');
}
/*-------------------------------------------------------------------------------*/
// 영어만 입력받기 (대소문자)
// 나머지 글자 무시
function nr_eng(this_s,type){
temp_value = this_s.value.toString();
regexp = '';
repexp = '';
switch(type){
case 'small':regexp = /[^a-z]/g;break;
case 'big':regexp = /[^A-Z]/g;break;
case 'all':regexp = /[^a-z]/i;break;
default :regexp = /[^a-z]/i;break;
}
temp_value = temp_value.replace(regexp,repexp);
this_s.value = temp_value;
}
// 영어만 입력받기 (소문자)
// 나머지 글자 무시
function nr_eng_small(this_s){
nr_eng(this_s,'small');
}
// 영어만 입력받기 (대문자)
// 나머지 글자 무시
function nr_eng_big(this_s){
nr_eng(this_s,'big');
}
// 전화번호 규격에 맞게 DDD-MM~M-XXXX
// 나머지 글자 무시
function nr_phone(this_s)
{
temp_value = this_s.value.toString();
temp_value = temp_value.replace(/[^0-9]/g,'');
temp_value = temp_value.replace(/(0(?:2|[0-9]{2}))([0-9]+)([0-9]{4}$)/,"$1-$2-$3");
this_s.value = temp_value;
}
/*-------------------------------------------------------------------------------*/
// 주민등록 번호 규격에 맞게 123456-1234567 //검증하지 않음.
// 나머지 글자 무시
function nr_jumin(this_s)
{
temp_value = this_s.value.toString();
temp_value = temp_value.replace(/[^0-9]/g,'');
temp_value = temp_value.substr(0,13);
temp_value = temp_value.replace(/([0-9]{6})([0-9]{7}$)/,"$1-$2");
this_s.value = temp_value;
}
/*-------------------------------------------------------------------------------*/
// 사업자 등록 번호 규격에 맞게 123-12-12345 //검증하지 않음.
// 나머지 글자 무시
function nr_company_num(this_s)
{
temp_value = this_s.value.toString();
temp_value = temp_value.replace(/[^0-9]/g,'');
temp_value = temp_value.substr(0,10);
temp_value = temp_value.replace(/([0-9]{3})([0-9]{2})([0-9]{5}$)/,"$1-$2-$3");
this_s.value = temp_value;
}
만든이 : mins
mins01@lycos.co.kr
http://mins01.woobi.co.kr
/--------------------------------------------------------------------------------/
사용법
파일 첨부후
해당 input 개체에
onKeyDown="nr_phone(this);" onKeyPress="nr_phone(this);" onKeyUp="nr_phone(this);"
위 이벤트를 등록.
<!-- 노멀라이즈 함수, 숫자,영어,주민번,사업자번호 체크.-->
<script language='JavaScript' src='<?=$board_skin?>/nr_func.js'></script>
<input type=text name='name' size=20 maxlength=20 onKeyDown="nr_phone(this);" onKeyPress="nr_phone(this);" onKeyUp="nr_phone(this);">
/-------------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------------*/
/*
한글의 경우 초성을 포함하지 않으면
onKey~~~ 로 인해서 한글을 적을 수 없습니다.
onKey~~~ 이벤트는 빼주시고
onchange 와 onblur!! 등 이벤트에 등록해주세요.
*/
// 한글만 입력받기 (초성체 무시)
// 나머지 글자 무시
function nr_han(this_s,type){
/*
type
-> 'c' : 초성 포함
-> 's' : 초성 포함 + 공백 포함
-> '' : 초성, 공백 무시
*/
temp_value = this_s.value.toString();
regexp = '';
repexp = '';
switch(type){
case 'c': regexp = /[^ㄱ-ㅎ가-힣]/g;break;
case 's': regexp = /[^ㄱ-ㅎ가-힣s]/g;break;
case '': regexp = /[^가-힣]/g; break;
default : regexp = /[^ㄱ-ㅎ가-힣s]/g;
}
if(regexp.test(temp_value))
{
temp_value = temp_value.replace(regexp,repexp);
this_s.value = temp_value;
}
}
/*-------------------------------------------------------------------------------*/
// 한글만 입력받기 (초성체 포함)
// 나머지 글자 무시
function nr_han_cho(this_s){
nr_han(this_s,'c');
}
/*-------------------------------------------------------------------------------*/
// 한글만 입력받기 (초성체 포함, 공백 포함)
// 나머지 글자 무시
function nr_han_cho_space(this_s){
nr_han(this_s,'s');
}
/*-------------------------------------------------------------------------------*/
function nr_numeng(this_s){
temp_value = this_s.value.toString();
regexp = /[^0-0a-zA-Z]/g;
repexp = '';
temp_value = temp_value.replace(regexp,repexp);
this_s.value = temp_value;
}
/*-------------------------------------------------------------------------------*/
// 나머지 글자 무시
function nr_num(this_s,type){
/*
type
-> 'int' : 양의 정수
-> 'float' : 양의 실수
-> '-int' : 음의 정수 포함
-> '-int' : 음의 실수 포함
*/
temp_value = this_s.value.toString();
regexp = /[^-.0-9]/g;
repexp = '';
temp_value = temp_value.replace(regexp,repexp);
regexp = '';
repexp = '';
switch(type){
case 'int': regexp = /[^0-9]/g; break;
case 'float':regexp = /^(-?)([0-9]*)(.?)([^0-9]*)([0-9]*)([^0-9]*)/; break;
case '-int': regexp = /^(-?)([0-9]*)([^0-9]*)([0-9]*)([^0-9]*)/;break;
case '-float':regexp = /^(-?)([0-9]*)(.?)([^0-9]*)([0-9]*)([^0-9]*)/; break;
default : regexp = /[^0-9]/g; break;
}
switch(type){
case 'int':repexp = '';break;
case 'float':repexp = '$2$3$5';break;
case '-int': repexp = '$1$2$4';break;
case '-float':repexp = '$1$2$3$5'; break;
default : regexp = /[^0-9]/g; break;
}
temp_value = temp_value.replace(regexp,repexp);
this_s.value = temp_value;
}
// 양의 정수만 입력받기
function nr_num_int(this_s){
nr_num(this_s,'int');
}
// 양의 실수만 입력받기
function nr_num_float(this_s){
nr_num(this_s,'float');
}
/*-------------------------------------------------------------------------------*/
// 영어만 입력받기 (대소문자)
// 나머지 글자 무시
function nr_eng(this_s,type){
temp_value = this_s.value.toString();
regexp = '';
repexp = '';
switch(type){
case 'small':regexp = /[^a-z]/g;break;
case 'big':regexp = /[^A-Z]/g;break;
case 'all':regexp = /[^a-z]/i;break;
default :regexp = /[^a-z]/i;break;
}
temp_value = temp_value.replace(regexp,repexp);
this_s.value = temp_value;
}
// 영어만 입력받기 (소문자)
// 나머지 글자 무시
function nr_eng_small(this_s){
nr_eng(this_s,'small');
}
// 영어만 입력받기 (대문자)
// 나머지 글자 무시
function nr_eng_big(this_s){
nr_eng(this_s,'big');
}
// 전화번호 규격에 맞게 DDD-MM~M-XXXX
// 나머지 글자 무시
function nr_phone(this_s)
{
temp_value = this_s.value.toString();
temp_value = temp_value.replace(/[^0-9]/g,'');
temp_value = temp_value.replace(/(0(?:2|[0-9]{2}))([0-9]+)([0-9]{4}$)/,"$1-$2-$3");
this_s.value = temp_value;
}
/*-------------------------------------------------------------------------------*/
// 주민등록 번호 규격에 맞게 123456-1234567 //검증하지 않음.
// 나머지 글자 무시
function nr_jumin(this_s)
{
temp_value = this_s.value.toString();
temp_value = temp_value.replace(/[^0-9]/g,'');
temp_value = temp_value.substr(0,13);
temp_value = temp_value.replace(/([0-9]{6})([0-9]{7}$)/,"$1-$2");
this_s.value = temp_value;
}
/*-------------------------------------------------------------------------------*/
// 사업자 등록 번호 규격에 맞게 123-12-12345 //검증하지 않음.
// 나머지 글자 무시
function nr_company_num(this_s)
{
temp_value = this_s.value.toString();
temp_value = temp_value.replace(/[^0-9]/g,'');
temp_value = temp_value.substr(0,10);
temp_value = temp_value.replace(/([0-9]{3})([0-9]{2})([0-9]{5}$)/,"$1-$2-$3");
this_s.value = temp_value;
}
'인터넷정보' 카테고리의 다른 글
레이어로 툴팁 효과내기 (0) | 2007.10.10 |
---|---|
window.document.location 간단 설명 (0) | 2007.10.10 |
로보트 검색엔진에 잘 걸리는 Meta Tag 작성법 (0) | 2007.10.10 |
화이트 도메인, 실시간 스팸 차단 리스트 (0) | 2007.10.10 |
HTML안의 href와 src의 주소만 빼내는 정규식 (0) | 2007.10.10 |
IE/FF(Gecko,W3C) 이벤트 설명 (0) | 2007.10.10 |
오른쪽마우스버튼,키보드 입력 방지,드래그금지, 특정키 제어 (0) | 2007.10.10 |
오픈마켓 광고, 옥션 광고, 지마켓 광고, 엠플 광고, 온켓 광고 (0) | 2007.10.10 |
폰트 사이트 (0) | 2007.10.10 |
레이어 여러개 반투명하게 교차하기 (0) | 2007.10.10 |