wrest.js 변경 및 일부 색상대비
This commit is contained in:
12
css/adm.css
12
css/adm.css
@ -34,7 +34,7 @@ footer {margin:20px 0;padding:5px 20px;border-top:1px solid #d0d6d8}
|
||||
footer p {color:#576a71}
|
||||
|
||||
/* 헤딩 */
|
||||
h1 {margin-bottom:20px;font-family:"verdana","dotum";letter-spacing:-0.1em}
|
||||
h1 {margin-bottom:20px;color:#515b5f;font-family:"verdana","dotum";letter-spacing:-0.1em}
|
||||
|
||||
/* GNB */
|
||||
#gnb {position:absolute;top:110px;left:20px;width:180px}
|
||||
@ -75,19 +75,21 @@ fieldset button, .fieldset_submit {padding:0 15px;height:23px;border:0;backgroun
|
||||
fieldset button:focus, .fieldset_submit:focus {padding:0 15px;height:23px;border:0;background:#555;color:#fff;font-size:1em;line-height:2.1em;vertical-align:middle}
|
||||
.readonly {background:#ff3061}
|
||||
|
||||
.adm_field_explain {display:block;padding:0 0 5px;color:#768f99}
|
||||
/* 폼 안내글 */
|
||||
.adm_field_explain {display:block;padding:0 0 5px;color:#5b747e}
|
||||
.group_setting {}
|
||||
.group_setting_ta {display:block;padding-top:5px}
|
||||
|
||||
/* 폼 바로가기 */
|
||||
.frm_list {margin:0 0 20px;padding:0 0 0 1px;zoom:1}
|
||||
.frm_list:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.frm_list li {float:left;margin-left:-1px;list-style:none}
|
||||
.frm_list a {display:block;border:1px solid #c7cfd5;background:#fff;padding:0 7px;height:30px;color:#2e5d98;font-size:0.875em;text-decoration:none;line-height:2.3em}
|
||||
.frm_list a:focus, .frm_list a:hover {background:#f6f9fa}
|
||||
.frm_list a {display:block;border:1px solid #586267;background:#667379;padding:0 7px;height:30px;color:#fff;font-size:0.875em;text-decoration:none;line-height:2.3em}
|
||||
.frm_list a:focus, .frm_list a:hover {background:#434f54}
|
||||
|
||||
/* 테이블 */
|
||||
table {margin-bottom:10px;width:100%;border:1px solid #d5dcdf;background:#fff}
|
||||
caption {padding:10px 0 15px;color:#5b7c89;text-align:left;font-size:1em;font-weight:bold}
|
||||
caption {padding:10px 0 15px;color:#2f4d59;text-align:left;font-size:1em;font-weight:bold}
|
||||
caption p {margin:7px 0 0;padding:0;color:#6b8088;font:0.75em normal}
|
||||
th, td {border-bottom:1px solid #e9ecee;font-size:0.75em}
|
||||
th label {display:block}
|
||||
|
||||
721
js/wrest.js
721
js/wrest.js
@ -1,464 +1,347 @@
|
||||
if (typeof(WREST_JS) == 'undefined') // 한번만 실행
|
||||
var wrestMsg = "";
|
||||
var wrestFld = null;
|
||||
var wrestFldDefaultColor = "";
|
||||
var wrestFldBackColor = "#FFE4E1";
|
||||
|
||||
// subject 속성값을 얻어 return, 없으면 tag의 name을 넘김
|
||||
function wrestItemname(fld)
|
||||
{
|
||||
if (typeof g4_path == 'undefined')
|
||||
alert('g4_path 변수가 선언되지 않았습니다. js/wrest.js');
|
||||
return fld.getAttribute("title") ? fld.getAttribute("title") : ( fld.getAttribute("alt") ? fld.getAttribute("alt") : fld.name );
|
||||
}
|
||||
|
||||
var WREST_JS = true;
|
||||
// 양쪽 공백 없애기
|
||||
function wrestTrim(fld)
|
||||
{
|
||||
var pattern = /(^\s+)|(\s+$)/g; // \s 공백 문자
|
||||
//(/^\s+|\s+$/g,"");
|
||||
var str = fld.value.replace(pattern, "");
|
||||
return str;
|
||||
}
|
||||
|
||||
var wrestMsg = '';
|
||||
var wrestFld = null;
|
||||
//var wrestFldDefaultColor = '#FFFFFF';
|
||||
var wrestFldDefaultColor = '';
|
||||
var wrestFldBackColor = '#FFE4E1';
|
||||
var arrAttr = new Array ('required', 'trim', 'minlength', 'email', 'hangul', 'hangul2',
|
||||
'memberid', 'nospace', 'numeric', 'alpha', 'alphanumeric',
|
||||
'jumin', 'saupja', 'alphanumericunderline', 'telnumber', 'hangulalphanumeric');
|
||||
|
||||
// subject 속성값을 얻어 return, 없으면 tag의 name을 넘김
|
||||
function wrestItemname(fld)
|
||||
{
|
||||
//input id 값과 같은 for 값을 가진 label 을 찾아 해당 텍스트를 itemname 으로 넘겨줍니다.:지운아빠 2012-07-04
|
||||
var itemname = '';
|
||||
var id = fld.getAttribute('id');
|
||||
var labelname = document.getElementsByTagName('label');
|
||||
for(i=0;i<labelname.length;i++){
|
||||
if (labelname[i].getAttribute('for') == id)
|
||||
{
|
||||
itemname = labelname[i].innerHTML.replace('<span>*</span>','');
|
||||
//itemname = labelname[i].innerTEXT;
|
||||
}
|
||||
// 필수 입력 검사
|
||||
function wrestRequired(fld)
|
||||
{
|
||||
if (wrestTrim(fld) == "") {
|
||||
if (wrestFld == null) {
|
||||
// 셀렉트박스일 경우에도 필수 선택 검사합니다.
|
||||
wrestMsg = wrestItemname(fld) + " : 필수 "+(fld.type=="select-one"?"선택":"입력")+"입니다.\n";
|
||||
wrestFld = fld;
|
||||
}
|
||||
// labelname 없을 경우에 title 로 반환
|
||||
if (itemname == '') {
|
||||
itemname = fld.getAttribute('title');
|
||||
}
|
||||
}
|
||||
|
||||
// 김선용 2006.3 - 전화번호(휴대폰) 형식 검사 : 123-123(4)-5678
|
||||
function wrestTelNum(fld)
|
||||
{
|
||||
if (!wrestTrim(fld)) return;
|
||||
|
||||
var pattern = /^[0-9]{2,3}-[0-9]{3,4}-[0-9]{4}$/;
|
||||
if(!pattern.test(fld.value)){
|
||||
if(wrestFld == null){
|
||||
wrestMsg = wrestItemname(fld)+" : 전화번호 형식이 올바르지 않습니다.\n\n하이픈(-)을 포함하여 입력하세요.\n";
|
||||
wrestFld = fld;
|
||||
fld.select();
|
||||
}
|
||||
if (itemname != null && itemname != '')
|
||||
return itemname;
|
||||
else
|
||||
return fld.name;
|
||||
}
|
||||
}
|
||||
|
||||
// 양쪽 공백 없애기
|
||||
function wrestTrim(fld)
|
||||
{
|
||||
var pattern = /(^\s*)|(\s*$)/g; // \s 공백 문자
|
||||
fld.value = fld.value.replace(pattern, "");
|
||||
return fld.value;
|
||||
// 이메일주소 형식 검사
|
||||
function wrestEmail(fld)
|
||||
{
|
||||
if (!wrestTrim(fld)) return;
|
||||
|
||||
//var pattern = /(\S+)@(\S+)\.(\S+)/; 이메일주소에 한글 사용시
|
||||
var pattern = /([0-9a-zA-Z_-]+)@([0-9a-zA-Z_-]+)\.([0-9a-zA-Z_-]+)/;
|
||||
if (!pattern.test(fld.value)) {
|
||||
if (wrestFld == null) {
|
||||
wrestMsg = wrestItemname(fld) + " : 이메일주소 형식이 아닙니다.\n";
|
||||
wrestFld = fld;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 필수 입력 검사
|
||||
function wrestRequired(fld)
|
||||
{
|
||||
if (wrestTrim(fld) == "")
|
||||
{
|
||||
if (wrestFld == null)
|
||||
{
|
||||
// 3.30
|
||||
// 셀렉트박스일 경우에도 필수 선택 검사합니다.
|
||||
wrestMsg = wrestItemname(fld) + " : 필수 "+(fld.type=="select-one"?"선택":"입력")+"입니다.\n";
|
||||
// 한글인지 검사 (자음, 모음만 있는 한글은 불가)
|
||||
function wrestHangul(fld)
|
||||
{
|
||||
if (!wrestTrim(fld)) return;
|
||||
|
||||
var pattern = /([^가-힣\x20])/i;
|
||||
|
||||
if (pattern.test(fld.value)) {
|
||||
if (wrestFld == null) {
|
||||
wrestMsg = wrestItemname(fld) + ' : 한글이 아닙니다. (자음, 모음만 있는 한글은 처리하지 않습니다.)\n';
|
||||
wrestFld = fld;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 한글인지 검사2 (자음, 모음만 있는 한글도 가능)
|
||||
function wrestHangul2(fld)
|
||||
{
|
||||
if (!wrestTrim(fld)) return;
|
||||
|
||||
var pattern = /([^가-힣ㄱ-ㅎㅏ-ㅣ\x20])/i;
|
||||
|
||||
if (pattern.test(fld.value)) {
|
||||
if (wrestFld == null) {
|
||||
wrestMsg = wrestItemname(fld) + ' : 한글이 아닙니다.\n';
|
||||
wrestFld = fld;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 한글,영문,숫자인지 검사3
|
||||
function wrestHangulAlNum(fld)
|
||||
{
|
||||
if (!wrestTrim(fld)) return;
|
||||
|
||||
var pattern = /([^가-힣\x20^a-z^A-Z^0-9])/i;
|
||||
|
||||
if (pattern.test(fld.value)) {
|
||||
if (wrestFld == null) {
|
||||
wrestMsg = wrestItemname(fld) + ' : 한글, 영문, 숫자가 아닙니다.\n';
|
||||
wrestFld = fld;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 한글,영문 인지 검사
|
||||
function wrestHangulAlpha(fld)
|
||||
{
|
||||
if (!wrestTrim(fld)) return;
|
||||
|
||||
var pattern = /([^가-힣\x20^a-z^A-Z])/i;
|
||||
|
||||
if (pattern.test(fld.value)) {
|
||||
if (wrestFld == null) {
|
||||
wrestMsg = wrestItemname(fld) + ' : 한글, 영문이 아닙니다.\n';
|
||||
wrestFld = fld;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 숫자인지검사
|
||||
// 배부른꿀꿀이님 추가 (http://dasir.com) 2003-06-24
|
||||
function wrestNumeric(fld)
|
||||
{
|
||||
if (fld.value.length > 0) {
|
||||
for (i = 0; i < fld.value.length; i++) {
|
||||
if (fld.value.charAt(i) < '0' || fld.value.charAt(i) > '9') {
|
||||
wrestMsg = wrestItemname(fld) + " : 숫자가 아닙니다.\n";
|
||||
wrestFld = fld;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 최소 길이 검사
|
||||
function wrestMinlength(fld)
|
||||
{
|
||||
var len = fld.getAttribute("minlength");
|
||||
if (fld.value.length < len)
|
||||
{
|
||||
if (wrestFld == null)
|
||||
{
|
||||
wrestMsg = wrestItemname(fld) + " : 최소 " + len + "자 이상 입력하세요.\n";
|
||||
wrestFld = fld;
|
||||
}
|
||||
// 영문자 검사
|
||||
// 배부른꿀꿀이님 추가 (http://dasir.com) 2003-06-24
|
||||
function wrestAlpha(fld)
|
||||
{
|
||||
if (!wrestTrim(fld)) return;
|
||||
|
||||
var pattern = /(^[a-zA-Z]+$)/;
|
||||
|
||||
if (!pattern.test(fld.value)) {
|
||||
if (wrestFld == null) {
|
||||
wrestMsg = wrestItemname(fld) + " : 영문이 아닙니다.\n";
|
||||
wrestFld = fld;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 김선용 2006.3 - 전화번호(휴대폰) 형식 검사 : 123-123(4)-5678
|
||||
function wrestTelnumber(fld){
|
||||
// 영문자와 숫자 검사
|
||||
// 배부른꿀꿀이님 추가 (http://dasir.com) 2003-07-07
|
||||
function wrestAlNum(fld)
|
||||
{
|
||||
if (!wrestTrim(fld)) return;
|
||||
|
||||
if (!wrestTrim(fld)) return;
|
||||
var pattern = /(^[a-zA-Z0-9]+$)/;
|
||||
|
||||
var pattern = /^[0-9]{2,3}-[0-9]{3,4}-[0-9]{4}$/;
|
||||
if(!pattern.test(fld.value)){
|
||||
if(wrestFld == null){
|
||||
wrestMsg = wrestItemname(fld)+" : 전화번호 형식이 올바르지 않습니다.\n\n하이픈(-)을 포함하여 입력해 주십시오.\n";
|
||||
wrestFld = fld;
|
||||
fld.select();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 이메일주소 형식 검사
|
||||
function wrestEmail(fld)
|
||||
{
|
||||
if (!wrestTrim(fld)) return;
|
||||
|
||||
//var pattern = /(\S+)@(\S+)\.(\S+)/; 이메일주소에 한글 사용시
|
||||
var pattern = /([0-9a-zA-Z_-]+)@([0-9a-zA-Z_-]+)\.([0-9a-zA-Z_-]+)/;
|
||||
if (!pattern.test(fld.value))
|
||||
{
|
||||
if (wrestFld == null)
|
||||
{
|
||||
wrestMsg = wrestItemname(fld) + " : 이메일주소 형식이 아닙니다.\n";
|
||||
wrestFld = fld;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 회원아이디 검사
|
||||
function wrestMemberId(fld)
|
||||
{
|
||||
if (!wrestTrim(fld)) return;
|
||||
|
||||
var pattern = /(^([a-z0-9]+)([a-z0-9_]+$))/;
|
||||
if (!pattern.test(fld.value))
|
||||
{
|
||||
if (wrestFld == null)
|
||||
{
|
||||
wrestMsg = wrestItemname(fld) + " : 회원아이디 형식이 아닙니다.\n\n영소문자, 숫자, _ 만 가능.\n\n첫글자는 영소문자, 숫자만 가능\n";
|
||||
wrestFld = fld;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 한글인지 검사 (자음, 모음만 있는 한글은 불가)
|
||||
function wrestHangul(fld)
|
||||
{
|
||||
if (!wrestTrim(fld)) return;
|
||||
|
||||
var pattern = /([^가-힣\x20])/i;
|
||||
|
||||
if (pattern.test(fld.value))
|
||||
{
|
||||
if (wrestFld == null)
|
||||
{
|
||||
wrestMsg = wrestItemname(fld) + ' : 한글이 아닙니다. (자음, 모음만 있는 한글은 처리하지 않습니다.)\n';
|
||||
wrestFld = fld;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 한글인지 검사2 (자음, 모음만 있는 한글도 가능)
|
||||
function wrestHangul2(fld)
|
||||
{
|
||||
if (!wrestTrim(fld)) return;
|
||||
|
||||
var pattern = /([^가-힣ㄱ-ㅎㅏ-ㅣ\x20])/i;
|
||||
|
||||
if (pattern.test(fld.value))
|
||||
{
|
||||
if (wrestFld == null)
|
||||
{
|
||||
wrestMsg = wrestItemname(fld) + ' : 한글이 아닙니다.\n';
|
||||
wrestFld = fld;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 한글,영문,숫자인지 검사3
|
||||
function wrestHangulAlphaNumeric(fld)
|
||||
{
|
||||
if (!wrestTrim(fld)) return;
|
||||
|
||||
var pattern = /([^가-힣\x20^a-z^A-Z^0-9])/i;
|
||||
|
||||
if (pattern.test(fld.value))
|
||||
{
|
||||
if (wrestFld == null)
|
||||
{
|
||||
wrestMsg = wrestItemname(fld) + ' : 한글, 영문, 숫자가 아닙니다.\n';
|
||||
wrestFld = fld;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 숫자인지검사
|
||||
// 배부른꿀꿀이님 추가 (http://dasir.com) 2003-06-24
|
||||
function wrestNumeric(fld)
|
||||
{
|
||||
if (fld.value.length > 0)
|
||||
{
|
||||
for (i = 0; i < fld.value.length; i++)
|
||||
{
|
||||
if (fld.value.charAt(i) < '0' || fld.value.charAt(i) > '9')
|
||||
{
|
||||
wrestMsg = wrestItemname(fld) + " : 숫자가 아닙니다.\n";
|
||||
wrestFld = fld;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 영문자 검사
|
||||
// 배부른꿀꿀이님 추가 (http://dasir.com) 2003-06-24
|
||||
function wrestAlpha(fld)
|
||||
{
|
||||
if (!wrestTrim(fld)) return;
|
||||
|
||||
var pattern = /(^[a-zA-Z]+$)/;
|
||||
if (!pattern.test(fld.value))
|
||||
{
|
||||
if (wrestFld == null)
|
||||
{
|
||||
wrestMsg = wrestItemname(fld) + " : 영문이 아닙니다.\n";
|
||||
wrestFld = fld;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 영문자와 숫자 검사
|
||||
// 배부른꿀꿀이님 추가 (http://dasir.com) 2003-07-07
|
||||
function wrestAlphaNumeric(fld)
|
||||
{
|
||||
if (!wrestTrim(fld)) return;
|
||||
var pattern = /(^[a-zA-Z0-9]+$)/;
|
||||
if (!pattern.test(fld.value))
|
||||
{
|
||||
if (wrestFld == null)
|
||||
{
|
||||
wrestMsg = wrestItemname(fld) + " : 영문 또는 숫자가 아닙니다.\n";
|
||||
wrestFld = fld;
|
||||
}
|
||||
if (!pattern.test(fld.value)) {
|
||||
if (wrestFld == null) {
|
||||
wrestMsg = wrestItemname(fld) + " : 영문 또는 숫자가 아닙니다.\n";
|
||||
wrestFld = fld;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 영문자와 숫자 그리고 _ 검사
|
||||
function wrestAlphaNumericUnderLine(fld)
|
||||
{
|
||||
if (!wrestTrim(fld))
|
||||
return;
|
||||
// 영문자와 숫자 그리고 _ 검사
|
||||
function wrestAlNum_(fld)
|
||||
{
|
||||
if (!wrestTrim(fld)) return;
|
||||
|
||||
var pattern = /(^[a-zA-Z0-9\_]+$)/;
|
||||
if (!pattern.test(fld.value))
|
||||
{
|
||||
if (wrestFld == null)
|
||||
{
|
||||
wrestMsg = wrestItemname(fld) + " : 영문, 숫자, _ 가 아닙니다.\n";
|
||||
wrestFld = fld;
|
||||
}
|
||||
var pattern = /(^[a-zA-Z0-9\_]+$)/;
|
||||
|
||||
if (!pattern.test(fld.value)) {
|
||||
if (wrestFld == null) {
|
||||
wrestMsg = wrestItemname(fld) + " : 영문, 숫자, _ 가 아닙니다.\n";
|
||||
wrestFld = fld;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 주민등록번호 검사
|
||||
function wrestJumin(fld)
|
||||
{
|
||||
if (!wrestTrim(fld)) return;
|
||||
var pattern = /(^[0-9]{13}$)/;
|
||||
if (!pattern.test(fld.value))
|
||||
{
|
||||
if (wrestFld == null)
|
||||
{
|
||||
wrestMsg = wrestItemname(fld) + " : 주민등록번호를 13자리 숫자로 입력하십시오.\n";
|
||||
wrestFld = fld;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
var sum_1 = 0;
|
||||
var sum_2 = 0;
|
||||
var at=0;
|
||||
var juminno= fld.value;
|
||||
sum_1 = (juminno.charAt(0)*2)+
|
||||
(juminno.charAt(1)*3)+
|
||||
(juminno.charAt(2)*4)+
|
||||
(juminno.charAt(3)*5)+
|
||||
(juminno.charAt(4)*6)+
|
||||
(juminno.charAt(5)*7)+
|
||||
(juminno.charAt(6)*8)+
|
||||
(juminno.charAt(7)*9)+
|
||||
(juminno.charAt(8)*2)+
|
||||
(juminno.charAt(9)*3)+
|
||||
(juminno.charAt(10)*4)+
|
||||
(juminno.charAt(11)*5);
|
||||
sum_2=sum_1 % 11;
|
||||
// 최소 길이 검사
|
||||
function wrestMinLength(fld, css)
|
||||
{
|
||||
if (!wrestTrim(fld)) return;
|
||||
|
||||
if (sum_2 == 0)
|
||||
at = 10;
|
||||
else
|
||||
{
|
||||
if (sum_2 == 1)
|
||||
at = 11;
|
||||
else
|
||||
at = sum_2;
|
||||
}
|
||||
att = 11 - at;
|
||||
// 1800 년대에 태어나신 분들은 남자, 여자의 구분이 9, 0 이라는
|
||||
// 얘기를 들은적이 있는데 그렇다면 아래의 구문은 오류이다.
|
||||
// 하지만... 100살넘은 분들이 주민등록번호를 과연 입력해볼까?
|
||||
if (juminno.charAt(12) != att ||
|
||||
juminno.substr(2,2) < '01' ||
|
||||
juminno.substr(2,2) > '12' ||
|
||||
juminno.substr(4,2) < '01' ||
|
||||
juminno.substr(4,2) > '31' ||
|
||||
juminno.charAt(6) > 4)
|
||||
{
|
||||
wrestMsg = wrestItemname(fld) + " : 올바른 주민등록번호가 아닙니다.\n";
|
||||
wrestFld = fld;
|
||||
}
|
||||
var str = css.split('='); // minlength=?? <-- str[1]
|
||||
|
||||
if (wrestFld == null) {
|
||||
if (fld.value.length < parseInt(str[1])) {
|
||||
wrestMsg = wrestItemname(fld) + " : 최소 "+str[1]+"글자 이상 입력하세요.\n";
|
||||
wrestFld = fld;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 사업자등록번호 검사
|
||||
function wrestSaupja(fld)
|
||||
{
|
||||
if (!wrestTrim(fld)) return;
|
||||
var pattern = /(^[0-9]{10}$)/;
|
||||
if (!pattern.test(fld.value))
|
||||
{
|
||||
if (wrestFld == null)
|
||||
{
|
||||
wrestMsg = wrestItemname(fld) + " : 사업자등록번호를 10자리 숫자로 입력하십시오.\n";
|
||||
wrestFld = fld;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
var sum = 0;
|
||||
var at = 0;
|
||||
var att = 0;
|
||||
var saupjano= fld.value;
|
||||
sum = (saupjano.charAt(0)*1)+
|
||||
(saupjano.charAt(1)*3)+
|
||||
(saupjano.charAt(2)*7)+
|
||||
(saupjano.charAt(3)*1)+
|
||||
(saupjano.charAt(4)*3)+
|
||||
(saupjano.charAt(5)*7)+
|
||||
(saupjano.charAt(6)*1)+
|
||||
(saupjano.charAt(7)*3)+
|
||||
(saupjano.charAt(8)*5);
|
||||
sum += parseInt((saupjano.charAt(8)*5)/10);
|
||||
at = sum % 10;
|
||||
if (at != 0)
|
||||
att = 10 - at;
|
||||
|
||||
if (saupjano.charAt(9) != att)
|
||||
{
|
||||
wrestMsg = wrestItemname(fld) + " : 올바른 사업자등록번호가 아닙니다.\n";
|
||||
wrestFld = fld;
|
||||
}
|
||||
// 이미지 확장자
|
||||
function wrestImgExt(fld)
|
||||
{
|
||||
if (!wrestTrim(fld)) return;
|
||||
|
||||
var pattern = /\.(gif|jpg|png)$/i; // jpeg 는 제외
|
||||
if(!pattern.test(fld.value)){
|
||||
if(wrestFld == null){
|
||||
wrestMsg = wrestItemname(fld)+" : 이미지 파일이 아닙니다.\n.gif .jpg .png 파일만 가능합니다.\n";
|
||||
wrestFld = fld;
|
||||
fld.select();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 공백 검사후 공백을 "" 로 변환
|
||||
function wrestNospace(fld)
|
||||
{
|
||||
var pattern = /(\s)/g; // \s 공백 문자
|
||||
if (pattern.test(fld.value))
|
||||
{
|
||||
if (wrestFld == null)
|
||||
{
|
||||
wrestMsg = wrestItemname(fld) + " : 공백이 없어야 합니다.\n";
|
||||
wrestFld = fld;
|
||||
}
|
||||
// 확장자
|
||||
function wrestExtension(fld, css)
|
||||
{
|
||||
if (!wrestTrim(fld)) return;
|
||||
|
||||
var str = css.split('='); // ext=?? <-- str[1]
|
||||
var src = fld.value.split('.');
|
||||
var ext = src[src.length - 1];
|
||||
|
||||
if (wrestFld == null) {
|
||||
if (ext.toLowerCase() < str[1].toLowerCase()) {
|
||||
wrestMsg = wrestItemname(fld) + " : ."+str[1]+" 파일만 가능합니다.\n";
|
||||
wrestFld = fld;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// submit 할 때 속성을 검사한다.
|
||||
function wrestSubmit()
|
||||
{
|
||||
wrestMsg = "";
|
||||
wrestFld = null;
|
||||
// 공백 검사후 공백을 "" 로 변환
|
||||
function wrestNospace(fld)
|
||||
{
|
||||
var pattern = /(\s)/g; // \s 공백 문자
|
||||
|
||||
var attr = null;
|
||||
if (pattern.test(fld.value)) {
|
||||
if (wrestFld == null) {
|
||||
wrestMsg = wrestItemname(fld) + " : 공백이 없어야 합니다.\n";
|
||||
wrestFld = fld;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 해당폼에 대한 요소의 갯수만큼 돌려라
|
||||
for (var i = 0; i < this.elements.length; i++)
|
||||
{
|
||||
// Input tag 의 type 이 text, file, password 일때만
|
||||
// 3.30
|
||||
// 셀렉트 박스일때도 필수 선택 검사합니다. select-one
|
||||
if (this.elements[i].type == "text" ||
|
||||
this.elements[i].type == "file" ||
|
||||
this.elements[i].type == "password" ||
|
||||
this.elements[i].type == "select-one" ||
|
||||
this.elements[i].type == "textarea")
|
||||
{
|
||||
// 배열의 길이만큼 돌려라
|
||||
for (var j = 0; j < arrAttr.length; j++)
|
||||
{
|
||||
// 배열에 정의한 속성과 비교해서 속성이 있거나 값이 있다면
|
||||
if (this.elements[i].getAttribute(arrAttr[j]) != null)
|
||||
{
|
||||
/*
|
||||
// 기본 색상으로 돌려놓고
|
||||
if (this.elements[i].getAttribute("required") != null) {
|
||||
this.elements[i].style.backgroundColor = wrestFldDefaultColor;
|
||||
// submit 할 때 속성을 검사한다.
|
||||
function wrestSubmit()
|
||||
{
|
||||
wrestMsg = "";
|
||||
wrestFld = null;
|
||||
|
||||
var attr = null;
|
||||
|
||||
// 해당폼에 대한 요소의 갯수만큼 돌려라
|
||||
for (var i=0; i<this.elements.length; i++) {
|
||||
var el = this.elements[i];
|
||||
|
||||
// Input tag 의 type 이 text, file, password 일때만
|
||||
// 셀렉트 박스일때도 필수 선택 검사합니다. select-one
|
||||
if (el.type=='text' || el.type=='hidden' || el.type=='file' || el.type=='password' || el.type=='select-one' || el.type=='textarea') {
|
||||
var array_css = el.className.split(' '); // class 를 공백으로 나눔
|
||||
|
||||
el.style.backgroundColor = wrestFldDefaultColor;
|
||||
|
||||
// 배열의 길이만큼 돌려라
|
||||
for (var k=0; k<array_css.length; k++) {
|
||||
var css = array_css[k];
|
||||
switch (css) {
|
||||
case "required" : wrestRequired(el); break;
|
||||
case "trim" : wrestTrim(el); break;
|
||||
case "email" : wrestEmail(el); break;
|
||||
case "hangul" : wrestHangul(el); break;
|
||||
case "hangul2" : wrestHangul2(el); break;
|
||||
case "hangulalpha" : wrestHangulAlpha(el); break;
|
||||
case "hangulalnum" : wrestHangulAlNum(el); break;
|
||||
case "nospace" : wrestNospace(el); break;
|
||||
case "numeric" : wrestNumeric(el); break;
|
||||
case "alpha" : wrestAlpha(el); break;
|
||||
case "alnum" : wrestAlNum(el); break;
|
||||
case "alnum_" : wrestAlNum_(el); break;
|
||||
case "telnum" : wrestTelNum(el); break; // 김선용 2006.3 - 전화번호 형식 검사
|
||||
case "imgext" : wrestImgExt(el); break;
|
||||
default :
|
||||
// css 가 minlength= 로 시작한다면 = 뒤의 숫자는 최소길이값
|
||||
if (/^minlength\=/.test(css)) {
|
||||
wrestMinLength(el, css); break;
|
||||
} else if (/^extension\=/.test(css)) {
|
||||
wrestExtension(el, css); break;
|
||||
}
|
||||
*/
|
||||
switch (arrAttr[j])
|
||||
{
|
||||
case "required" : wrestRequired(this.elements[i]); break;
|
||||
case "trim" : wrestTrim(this.elements[i]); break;
|
||||
case "minlength" : wrestMinlength(this.elements[i]); break;
|
||||
case "email" : wrestEmail(this.elements[i]); break;
|
||||
case "hangul" : wrestHangul(this.elements[i]); break;
|
||||
case "hangul2" : wrestHangul2(this.elements[i]); break;
|
||||
case "hangulalphanumeric"
|
||||
: wrestHangulAlphaNumeric(this.elements[i]); break;
|
||||
case "memberid" : wrestMemberId(this.elements[i]); break;
|
||||
case "nospace" : wrestNospace(this.elements[i]); break;
|
||||
case "numeric" : wrestNumeric(this.elements[i]); break;
|
||||
case "alpha" : wrestAlpha(this.elements[i]); break;
|
||||
case "alphanumeric" : wrestAlphaNumeric(this.elements[i]); break;
|
||||
case "alphanumericunderline" :
|
||||
wrestAlphaNumericUnderLine(this.elements[i]); break;
|
||||
case "jumin" : wrestJumin(this.elements[i]); break;
|
||||
case "saupja" : wrestSaupja(this.elements[i]); break;
|
||||
} // switch (css)
|
||||
} // for (k)
|
||||
} // if (el)
|
||||
} // for (i)
|
||||
|
||||
// 김선용 2006.3 - 전화번호 형식 검사
|
||||
case "telnumber" : wrestTelnumber(this.elements[i]); break;
|
||||
default : break;
|
||||
}
|
||||
// 필드가 null 이 아니라면 오류메세지 출력후 포커스를 해당 오류 필드로 옮김
|
||||
// 오류 필드는 배경색상을 바꾼다.
|
||||
if (wrestFld != null) {
|
||||
// 경고메세지 출력
|
||||
alert(wrestMsg);
|
||||
|
||||
if (wrestFld.style.display != 'none') {
|
||||
wrestFld.style.backgroundColor = wrestFldBackColor;
|
||||
if (typeof(wrestFld.select) != 'undefined')
|
||||
wrestFld.select();
|
||||
wrestFld.focus();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
if (this.oldsubmit && this.oldsubmit() == false)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// 초기에 onsubmit을 가로채도록 한다.
|
||||
function wrestInitialized()
|
||||
{
|
||||
//var regexp = /required/;
|
||||
var regexp = /\brequired\b/;
|
||||
|
||||
|
||||
for (var i = 0; i < document.forms.length; i++)
|
||||
{
|
||||
// onsubmit 이벤트가 있다면 저장해 놓는다.
|
||||
if (document.forms[i].onsubmit) document.forms[i].oldsubmit = document.forms[i].onsubmit;
|
||||
document.forms[i].onsubmit = wrestSubmit;
|
||||
|
||||
|
||||
for (var j = 0; j < document.forms[i].elements.length; j++)
|
||||
{
|
||||
// 필수 입력일 경우는 * 배경이미지를 준다.
|
||||
//if (document.forms[i].elements[j].getAttribute("required") != null)
|
||||
if (regexp.test(document.forms[i].elements[j].className))
|
||||
{
|
||||
//document.forms[i].elements[j].style.backgroundColor = wrestFldDefaultColor;
|
||||
//document.forms[i].elements[j].className = "wrest_required";
|
||||
document.forms[i].elements[j].style.backgroundImage = "url('"+g4_path+"/js/wrest.gif')";
|
||||
document.forms[i].elements[j].style.backgroundPosition = "top right";
|
||||
document.forms[i].elements[j].style.backgroundRepeat = "no-repeat";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 필드가 null 이 아니라면 오류메세지 출력후 포커스를 해당 오류 필드로 옮김
|
||||
// 오류 필드는 배경색상을 바꾼다.
|
||||
if (wrestFld != null)
|
||||
{
|
||||
alert(wrestMsg);
|
||||
if (wrestFld.style.display != 'none')
|
||||
{
|
||||
wrestFld.style.backgroundColor = wrestFldBackColor;
|
||||
wrestFld.focus();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
if (this.oldsubmit && this.oldsubmit() == false)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// 초기에 onsubmit을 가로채도록 한다.
|
||||
function wrestInitialized()
|
||||
{
|
||||
for (var i = 0; i < document.forms.length; i++)
|
||||
{
|
||||
// onsubmit 이벤트가 있다면 저장해 놓는다.
|
||||
if (document.forms[i].onsubmit) document.forms[i].oldsubmit = document.forms[i].onsubmit;
|
||||
document.forms[i].onsubmit = wrestSubmit;
|
||||
for (var j = 0; j < document.forms[i].elements.length; j++)
|
||||
{
|
||||
// 필수 입력일 경우는 * 배경이미지를 준다.
|
||||
if (document.forms[i].elements[j].getAttribute("required") != null)
|
||||
{
|
||||
//document.forms[i].elements[j].style.backgroundColor = wrestFldDefaultColor;
|
||||
//document.forms[i].elements[j].className = "wrest_required";
|
||||
document.forms[i].elements[j].style.backgroundImage = "url("+g4_path+"/js/wrest.gif)";
|
||||
document.forms[i].elements[j].style.backgroundPosition = "top right";
|
||||
document.forms[i].elements[j].style.backgroundRepeat = "no-repeat";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
wrestInitialized();
|
||||
}
|
||||
// 폼필드 자동검사
|
||||
$(document).ready(function(){
|
||||
wrestInitialized();
|
||||
});
|
||||
Reference in New Issue
Block a user