자주쓰이는 자바스크립체크(함수) JAVASCRIPT
2003/09/02 13:27
출처 : http://blog.naver.com/dream_wizard/189197
//***************************
// *** 입력이 되었는지 체크 ***
// **************************
function isinput(obj,msg){
if(obj.value.length==0 || obj.value==""){
alert(msg);
obj.focus();
return false;
}
return true;
}
//*******************************************
//*** str1과 str2가 같은지 체크 (pwd1/pwd2) ***
//*******************************************
function isEqual(str1, str2)
{
if(str1 == str2)
return true;
return false;
}
//*******************************************
//*** 암호체크 (pwd1/pwd2) ***
//*******************************************
function isEquals(obj1, obj2,msg)
{
if(obj1.value!= obj2.value){
alert(msg);
obj1.value=""
obj2.value=""
obj1.focus();
return false;
}
return true
}
//************************************
//*** 입력된 문자의 길이가 같은지 체크 ***
//************************************
function ischklen(obj,msg,len){
if(obj.value.length != len){
alert(msg);
obj.focus();
return false;
}
return true
}
//***********************************
// *** 입력된 문자의 길이 범위를 체크 ***
//***********************************
function isbtnlen(obj,msg,len1,len2){
//alert(obj.value.length)
if(obj.value.length <len1 && obj.value.length > len2){
alert(msg);
obj.focus();
return false;
}
return true
}
//***********************************
// *** 입력된 문자의 길이 범위를 err체크 ***
//***********************************
function isbtnlens(obj,msg,len1,len2){
//alert(obj.value.length)
if(obj.value.length <len1 || obj.value.length > len2){
alert(msg);
obj.focus();
return false;
}
return true
}
//*******************
//*** 주민번호 체크 ***
//*******************
function checkJuminNum(obj1, obj2, str)
{
if(!isinput(obj1,"주민번호앞자리를 입력하세요")) return false;
if(!ischklen(obj1,"주민번호자릿수가 맞지 않습니다.",6)) return false;
if(!isinput(obj2,"주민번호뒷자리를 입력하세요")) return false;
if(!ischklen(obj2,"주민번호자릿수가 맞지 않습니다.",7)) return false;
// 모두 입력된 경우
if( isJuminNum(obj1.value, obj2.value) == false)
{
alert(str);
obj1.focus();
obj1.select();
return false;
}
return true;
}
//****************************************
//*** 입력된 문자열이 주민등록번호인지 체크 ***
//****************************************
function isJuminNum(aNum1, aNum2)
{
var tot=0, result=0, re=0, se_arg=0;
var chk_num="";
var aNum = aNum1 + aNum2;
if (aNum.length != 13)
{
return false;
}
else
{
for (var i=0; i <12; i++)
{
if (isNaN(aNum.substr(i, 1)))
return false;
se_arg = i;
//외국인 인 경우
if(i==6) {
if (aNum.substr(i, 1) == 7 || aNum.substr(i, 1) == 8 )
return true
}
if (i >= 8)
se_arg = i - 8;
tot = tot + Number(aNum.substr(i, 1)) * (se_arg + 2)
}
if (chk_num != "err")
{
re = tot % 11;
result = 11 - re;
if (result >= 10) result = result - 10;
if (result != Number(aNum.substr(12, 1))) return false;
if ((Number(aNum.substr(6, 1)) < 1) || (Number(aNum.substr(6, 1)) > 4)) return false;
}
}
return true;
}
//*****************************//
//***이메일이 올바른지 체크 ***//
//*****************************//
function emailCheck (emailStr) {
// Email check 함수
var emailPat=/^(.+)@(.+)$/
var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
var validChars="\[^\\s" + specialChars + "\]"
var firstChars=validChars
var quotedUser="(\"[^\"]*\")"
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
var atom="(" + firstChars + validChars + "*" + ")"
var word="(" + atom + "|" + quotedUser + ")"
var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
var matchArray=emailStr.match(emailPat)
if (matchArray==null) {
alert("E-mail 주소가 정확하지 않습니다.\n @ 와 . 을 확인하십시오")
return false
}
var user=matchArray[1]
var domain=matchArray[2]
if (user.match(userPat)==null) {
alert("메일 아이디가 정확한 것 같지 않습니다.")
return false
}
var IPArray=domain.match(ipDomainPat)
if (IPArray!=null) {
for (var i=1;i<=4;i++) {
if (IPArray[i]>255) {
alert("IP가 정확하지 않습니다!")
return false
}
}
return true
}
var domainArray=domain.match(domainPat)
if (domainArray==null) {
alert("도메인 이름이 정확한 것 같지 않습니다.")
return false
}
var atomPat=new RegExp(atom,"g")
var domArr=domain.match(atomPat)
var len=domArr.length
if (domArr[domArr.length-1].length<2 ||
domArr[domArr.length-1].length>3) {
alert("도메인명의 국가코드는 2자보다 크고 3자보다 작아야 합니다")
return false
}
if (domArr[domArr.length-1].length==2 && len<3) {
var errStr="This address ends in two characters, which is a country"
errStr+=" code. Country codes must be preceded by "
errStr+="a hostname and category (like com, co, pub, pu, etc.)"
alert(errStr)
return false
}
if (domArr[domArr.length-1].length==3 && len<2) {
var errStr="이 주소는 호스트명이 일치하지 않습니다"
alert(errStr)
return false
}
return true;
}
//*****************************//
//***숫자만 입력 가능 ***//
//*****************************//
function num(code)
{
if ((event.keyCode<48 || event.keyCode>57 )&&(event.keyCode!=13)){
alert("숫자만가능");
event.returnValue=false;//값의 초기화
code.value="";
code.focus();
// return;
return false
}
}
//*****************************//
//***특수문자 제어 기능 ***//
//*****************************//
function onlyEng(objtext1) {
var inText = objtext1.value;
var ret;
for (var i = 0; i < inText.length; i++) {
ret = inText.charCodeAt(i);
if ((ret > 122) || (ret < 48) || (ret > 57 && ret < 65) || (ret > 90 && ret < 97)) {
alert("영문자와 숫자만을 입력하세요");
objtext1.value = "";
objtext1.focus();
return false;
}
}
return true;
}