편집자는 이전에 JavaScript에서 일반적으로 사용되는 정규 표현식의 많은 예를 편집했으며 모두 자체적으로 사용됩니다. 이제 나는 당신과 공유 할 것입니다.
코드 사본은 다음과 같습니다.
/**
* 문자열의 바이트 길이를 가져옵니다
*/
함수 strlen (str)
{
var i;
var 렌;
len = 0;
for (i = 0; i <str.length; i ++)
{
if (str.charcodeat (i)> 255) len+= 2; 그렇지 않으면 Len ++;
}
반환 렌;
}
/*
* 숫자 여부를 결정하고 true를 반환하고 그렇지 않으면 거짓을 반환합니다.
*/
함수 f_check_number (obj)
{
if (/^/d+$/.test (abj.value)))
{
진실을 반환하십시오.
}
또 다른
{
f_alert (obj, "숫자를 입력하십시오");
거짓을 반환합니다.
}
}
/*
* 자연 숫자인지 확인하려면 true를 반환하고 그렇지 않으면 False를 반환하십시오.
*/
함수 f_check_naturalnumber (obj)
{
var s = obj.value;
if (/^[0-9]+$/. 테스트 (s) && (s> 0))
{
진실을 반환하십시오.
}
또 다른
{
f_alert (obj, "자연 번호를 입력하십시오");
거짓을 반환합니다.
}
}
/*
* 정수인지 여부를 결정하려면 true를 반환하십시오. 그렇지 않으면 False를 반환하십시오.
*/
함수 f_check_integer (obj)
{
if (/^(/+|-)?/d+$/. test (obj.value))
{
진실을 반환하십시오.
}
또 다른
{
f_alert (obj, "정수를 입력하십시오");
거짓을 반환합니다.
}
}
/*
* 실수인지 여부를 결정하려면 true를 반환하고 그렇지 않으면 False를 반환하십시오.
*/
함수 f_check_float (obj)
{
if (/^(/+|-)?/d+($ | /./ d+$)/. test (obj.value))
{
진실을 반환하십시오.
}
또 다른
{
f_alert (obj, "실수를 입력하십시오");
거짓을 반환합니다.
}
}
/*
* 숫자의 길이와 정확도를 확인하십시오
*/
함수 f_check_double (obj) {
var numreg;
var value = obj.value;
var strvaluetemp, Strint, strdec;
var dtype = obj.eos_datatype;
var pos_dtype = dtype.substring (dtype.indexof ( "("( ")+1, dtype.indexof ("))). split ( ",");
var len = pos_dtype [0], prec = pos_dtype [1];
노력하다
{
numreg =/[/-]/;
strvaluetemp = value.replace (numreg, "");
numreg =/[/+]/;
strvaluetemp = strvaluetemp.replace (numreg, "");
//정수
if (prec == 0) {
numreg =/[/.]/;
if (numreg.test (value) == true) {
f_alert (obj, "입력은 정수 유형이어야한다");
거짓을 반환합니다.
}
}
if (strvaluetemp.indexof ( ".") <0) {
if (strvaluetemp.length> (len -prec)) {
f_alert (obj, "정수 비트는" + (len -prec) + "비트"를 초과 할 수 없습니다);
거짓을 반환합니다.
}
}또 다른{
strint = strvaluetemp.substr (0, strvaluetemp.indexof ( "."));
if (strint.length> (len -prec)) {
f_alert (obj, "정수 비트는" + (len -prec) + "비트"를 초과 할 수 없습니다);
거짓을 반환합니다.
}
strdec = strvaluetemp.substr ((strvaluetemp.indexof ( ".")+1), strvaluetemp.length);
if (strdec.length> prec) {
f_alert (obj, "소수 숫자는" + prec + "비트"를 초과 할 수 없습니다);
거짓을 반환합니다.
}
}
진실을 반환하십시오.
} catch (e) {
경고 ( "f_check_double =" + e);
거짓을 반환합니다.
}
}
/*
* 숫자의 최소 최대 값을 확인하십시오
* 부울로 돌아갑니다
*/
함수 f_check_interval (obj)
{
var value = parsefloat (obj.value);
var dtype = obj.eos_datatype;
var pos_dtype = dtype.substring (dtype.indexof ( "("( ")+1, dtype.indexof ("))). split ( ",");
var minlimit = pos_dtype [0];
var maxlimit = pos_dtype [1];
var minval = parsefloat (pos_dtype [0]);
var maxval = parsefloat (pos_dtype [1]);
if (isnan (value))
{
f_alert (obj, "값은 숫자 여야한다");
거짓을 반환합니다.
}
if ((isnan (minval) && (minlimit! = "-")) || (isnan (maxval) && (maxlimit! = "+"))))
{
f_alert (obj, "경계 값은 숫자 또는 -, +");
거짓을 반환합니다.
}
if (minlimit == "-"&&! isnan (maxval))
{
if (value> maxval)
{
f_alert (obj, "값은" + maxval을 초과 할 수 없음);
거짓을 반환합니다.
}
}
if (! isnan (minval) && maxlimit == "+")
{
if (value <minval)
{
f_alert (obj, "값은" + minval보다 적을 수 없음);
거짓을 반환합니다.
}
}
if (! isnan (minval) &&! isnan (maxval))
{
if (minval> maxval)
{
f_alert (obj, "start value" + minval + "는 값을 종료하는 것보다 클 수 없습니다" + maxval);
}또 다른
{
if (! (value <= maxval && value> = minval))))
{
f_alert (obj, "값은" + minval + "와" + maxval + "사이에 있어야합니다);
거짓을 반환합니다.
}
}
}
진실을 반환하십시오.
}
/*
목적 : 입력 문자열이 한자 만 구성되어 있는지 확인하십시오.
참된 확인에 의해 True가 반환되는 경우, 그렇지 않으면 False
*/
함수 f_check_zh (obj) {
if (/^=/u4e00-/u9fa5] +$/.test(Obj.value)) {
진실을 반환하십시오.
}
f_alert (obj, "중국어를 입력하십시오");
거짓을 반환합니다.
}
/*
* 소문자 영어 편지인지 확인하십시오. 그렇다면 그렇다면 true가 반환됩니다. 그렇지 않으면 거짓을 반환합니다.
*/
함수 f_check_lowercase (obj)
{
if (/^[az]+$/. test (obj.value))
{
진실을 반환하십시오.
}
f_alert (obj, "소문자 영어 편지를 입력하십시오");
거짓을 반환합니다.
}
/*
* 그것이 자본 영어 편지인지 결정하고, 진실을 반환하고, 그렇지 않으면 거짓을 반환하십시오.
*/
함수 f_check_uppercase (obj)
{
if (/^[az]+$/. test (obj.value))
{
진실을 반환하십시오.
}
f_alert (obj, "대문자 입력하십시오");
거짓을 반환합니다.
}
/*
* 영어 편지인지 여부를 결정하려면 True를 반환하고 그렇지 않으면 False를 반환하십시오.
*/
함수 f_check_letter (obj)
{
if (/^[a-za-z]+$/. test (obj.value))
{
진실을 반환하십시오.
}
f_alert (obj, "영어 편지를 입력하십시오");
거짓을 반환합니다.
}
/*
목적 : 입력 문자열이 한자, 문자 및 숫자로만 구성되어 있는지 확인하십시오.
입력하다:
가치 : 문자열
반품:
참된 확인에 의해 True가 반환되는 경우, 그렇지 않으면 False
*/
함수 f_check_zhornumorlett (obj) {// 중국어, 문자 및 숫자로 구성되어 있는지 판단
var regu = "^[0-9a-za-z/u4e00-/u9fa5]+$";
var re = 새로운 regexp (regu);
if (re.test (obj.value)) {
진실을 반환하십시오.
}
f_alert (obj, "중국어, 편지 또는 숫자를 입력하십시오");
거짓을 반환합니다.
}
/*
목적 : IP 주소의 형식을 확인하십시오
입력 : 스트립 : IP 주소
반품 : 참된 확인에 의해 True가 반환되는 경우, 그렇지 않으면 False가 반환됩니다.
*/
함수 f_check_ip (obj)
{
var re =/^(/d+)/. (/d+)/. (/d+)/. (/d+) $/; // 정규 표현식 일치 IP 주소
if (re.test (obj.value))
{
if (regexp. $ 1 <= 255 && regexp. $ 1> = 0
&& regexp. $ 2 <= 255 && regexp. $ 2> = 0
&& regexp. $ 3 <= 255 && regexp. $ 3> = 0
&& regexp. $ 4 <= 255 && regexp. $ 4> = 0)
{
진실을 반환하십시오.
}
}
f_alert (OBJ, "법적 컴퓨터 IP 주소를 입력하십시오");
거짓을 반환합니다.
}
/*
목적 : 입력 객체의 값이 포트 번호 형식을 충족하는지 확인
입력 : str이 문자열을 입력했습니다
반환 : 참으로 참조가 확인되면, 그렇지 않으면 거짓
*/
함수 f_check_port (obj)
{
if (! f_check_number (obj))
거짓을 반환합니다.
if (obj.value <65536)
진실을 반환하십시오.
f_alert (OBJ, "법적 컴퓨터 IP 주소 및 포트 번호를 입력하십시오");
거짓을 반환합니다.
}
/*
목적 : 입력 객체의 값이 URL 형식을 충족하는지 확인
입력 : str이 문자열을 입력했습니다
반환 : 참으로 참조가 확인되면, 그렇지 않으면 거짓
*/
함수 f_check_url (obj) {
var myreg = /^(http:;/]/]) ?/wlo (..]/wrolouthment ?/9)*) ?$/;
if (myreg.test (obj.value)) true를 반환합니다.
f_alert (OBJ, "법적 웹 주소를 입력하십시오");
거짓을 반환합니다.
}
/*
목적 : 입력 객체의 값이 이메일 형식을 준수하는지 확인하십시오.
입력 : str이 문자열을 입력했습니다
반환 : 참으로 참조가 확인되면, 그렇지 않으면 거짓
*/
함수 f_check_email (obj) {
var myreg = /^( ... -_a-za-z0-9/.] +)@(ha-za-z0-9] +/.) romethentment and-za-z0-9] {2,3 }$/;
if (myreg.test (obj.value)) true를 반환합니다.
f_alert (OBJ, "법적 이메일 주소를 입력하십시오");
거짓을 반환합니다.
}
/*
요구 사항 : 1. 휴대폰 번호는 11 ~ 12 자리입니다. 12 자리 인 경우 첫 번째 자리는 0입니다.
2. 11 자리 휴대 전화 번호의 첫 번째와 두 번째 숫자는 "13"입니다.
셋째, 12 자리 휴대 전화 번호의 두 번째 및 세 번째 숫자는 "13"입니다.
목적 : 휴대폰 번호가 올바르게 입력되었는지 확인하십시오.
입력하다:
S : 문자열
반품:
참된 확인에 의해 True가 반환되는 경우, 그렇지 않으면 False
*/
함수 f_check_mobile (obj) {
var regu =/(^[1] [3] [0-9] {9} $) | (^0 [1] [3] [0-9] {9} $)/;
var re = 새로운 regexp (regu);
if (re.test (obj.value)) {
진실을 반환하십시오.
}
f_alert (OBJ, "올바른 휴대 전화 번호를 입력하십시오");
거짓을 반환합니다.
}
/*
요구 사항 : 1. 전화 번호는 숫자로 구성됩니다. "(", ")"및 "-"
2. 전화 번호는 3 ~ 8 자리입니다
3. 전화 번호에 영역 코드가 포함 된 경우 영역 코드는 3 ~ 4 자리입니다.
4. 영역 코드는 "(", ")"또는 "-"에 의해 다른 부분과 분리됩니다.
목적 : 입력 된 전화 번호가 올바른 형식인지 확인
입력하다:
문자열 : 문자열
반품:
참된 확인에 의해 True가 반환되는 경우, 그렇지 않으면 False
*/
함수 f_check_phone (obj)
{
var regu =/(^([0] [1-9] {2,3} [-]))?/d {3,8} (-/d {1,6})? $) | (^/([0] [1-9] {2,3}/)/)/d {3,8} (/d {1,6}/) | (/d})).
var re = 새로운 regexp (regu);
if (re.test (obj.value)) {
진실을 반환하십시오.
}
f_alert (obj, "올바른 전화 번호를 입력하십시오");
거짓을 반환합니다.
}
/* 우편 번호 여부를 결정*/
함수 f_check_zipcode (obj)
{
if (! f_check_number (obj))
거짓을 반환합니다.
if (obj.value.length! = 6)
{
f_alert (obj, "우편 번호의 길이는 6 자리 여야합니다");
거짓을 반환합니다.
}
진실을 반환하십시오.
}
/*
숫자, 문자 및 밑줄의 조합 일 수있는 사용자 ID.
첫 번째 문자는 숫자가 될 수 없으며 총 길이는 20을 초과 할 수 없습니다.
*/
함수 f_check_userid (obj)
{
var userid = obj.value;
if (userId.length> 20)
{
f_alert (obj, "id 길이는 20보다 클 수 없습니다");
거짓을 반환합니다.
}
if (! isnan (userId.charat (0)))
{
f_alert (obj, "ID의 첫 번째 문자는 숫자가 될 수 없습니다");
거짓을 반환합니다.
}
if (!/^/w {1,20} $/. test (userId))
{
f_alert (obj, "Id는 숫자, 문자 및 밑줄로만 구성 될 수 있습니다");
거짓을 반환합니다.
}
진실을 반환하십시오.
}
/*
기능 : ID 번호가 유효한지 확인하십시오
프롬프트 메시지 : 입력하지 않거나 ID 번호가 올바르지 않습니다!
사용 : f_check_idno (obj)
반환 : 부울
*/
함수 f_check_idno (obj)
{
var acity = {11 : "Beijing", 12 : "Tianjin", 13 : "Hebei", 14 : "Shanxi", 15 : "Inner 몽골 ", 21 :"Liaoning ", 22 :"Jilin ", 23 :"Heilongjiang ", 31 :"Shanghai ", 32 :"Jiangsu ", 33 : "Zhejiang", 34 : "Anhui", 35 : "Fujian", 36 : "Jiangxi", 37 : "Shandong", 41 : "Henan", 42 : "Hubei", "Hubei", 43 : "Hunan", 44 : "Guangdong", 45 : "Guangxi", 46 : "Hainan", 50 : "Chongqing", 51 : "Sichuan", 52 : "Guizhou", 53 : "Yun Nan ", 54 :"Tibet ", 61 :"Shaanxi ", 62 :"Gansu ", 63 :"Qinghai ", 64 :"Ningxia ", 65 :"Xinjiang ", 71 :"Taiwan ", 81 :"Hong Kong ", 82 :"마카오 ", 91 :"외국 "};
var isum = 0;
var info = "";
var stridno = obj.value;
var idcardlength = stridno.length;
if (!/^/d {17} (/d | x) $/i.test (stridno) &&!/^/d {15} $/i.test (stridno))
{
f_alert (obj, "불법 ID 번호");
거짓을 반환합니다.
}
// 후속 작업에서 X는 숫자 10과 동일하므로 A로 변환됩니다.
stridno = stridno.replace (/x $/i, "a");
if (acity [parseint (stridno.substr (0,2))] == null)
{
f_alert (obj, "불법 지역");
거짓을 반환합니다.
}
if (idcardlength == 18)
{
sbirthday = stridno.substr (6,4)+"-"+번호 (stridno.substr (10,2))+"-"+숫자 (stridno.substr (12,2));
var d = 새 날짜 (sbirthday.replace (/-/g, "/"))
if (sbirthday! = (d.getlyear ()+ "-"+ (d.getmonth ()+ 1)+ "-"+ d.getDate ()))).
{
f_alert (obj, "불법 생일");
거짓을 반환합니다.
}
for (var i = 17; i> = 0; i-)
isum += (Math.pow (2, i) % 11) * parseint (stridno.charat (17 -i), 11);
if (isum%11! = 1)
{
f_alert (obj, "불법 ID 번호");
거짓을 반환합니다.
}
}
else if (idcardlength == 15)
{
sbirthday = "19" + stridno.substr (6,2) + "-" + number (stridno.substr (8,2)) + "-" + number (stridno.substr (10,2));
var d = 새 날짜 (sbirthday.replace (/-/g, "/"))
var dd = d.getlyear (). toString () + "-" + (d.getMonth () + 1) + "-" + d.getDate ();
if (sbirthday! = dd)
{
f_alert (obj, "불법 생일");
거짓을 반환합니다.
}
}
진실을 반환하십시오.
}
/*
* 문자열이 지정된 정규 표현식을 충족하는지 결정
*/
함수 f_check_formatstr (obj)
{
var str = obj.value;
var dtype = obj.eos_datatype;
var regu = dtype.substring (dtype.indexof ( "("( "))+1, dtype.indexof (") ")); // 지정된 정규 표현식
var re = 새로운 regexp (regu);
if (Re.test (str))
진실을 반환하십시오.
f_alert (OBJ, "지정된 정규 표현 요구 사항을 충족하지 못함");
거짓을 반환합니다.
}
/*
기능 : 날짜 여부를 결정합니다 (형식 : YYYY Year MM Month DD DATE, YYYY-MM-DD, YYYYY/MM/DD, YYYYMMDD)
팁 : 입력하거나 입력하지 않은 날짜는 형식에서 잘못되었습니다!
사용 : f_check_date (obj)
반환 : 부울
*/
함수 f_check_date (obj)
{
var date = trim (obj.value);
var dtype = obj.eos_datatype;
var format = dtype.substring (dtype.indexof ( "("( "))+1, dtype.indexof (") "); // 날짜 형식
var 연도, 월, 일, 날짜 정서, matchArray;
if (/^(y {4}) (-| //) (m {1,2})/2 (d {1,2}) $/. test (format))
datepat =/^(/d {4}) (-| //) (/d {1,2})/2 (/d {1,2}) $/;
else if (/^(y {4}) (년) (m {1,2}) (Month) (d {1,2}) (d {1,2}) (d) $/. test (format))
datepat =/^(/d {4}) 연도 (/d {1,2}) 달 (/d {1,2}) day $/;
else if (format == "yyyymmdd")
datepat =/^(/d {4}) (/d {2}) (/d {2}) $/;
또 다른
{
f_alert (obj, "날짜 형식이 잘못되었습니다");
거짓을 반환합니다.
}
matchArray = date.match (datePat);
if (matchArray == null)
{
f_alert (obj, "날짜 길이가 올바르지 않거나 날짜에 숫자가 아닌 기호가 있습니다");
거짓을 반환합니다.
}
if (/^(y {4}) (-| //) (m {1,2})/2 (d {1,2}) $/. test (format))
{
연도 = matchArray [1];
Month = MatchArray [3];
day = matchArray [4];
} 또 다른
{
연도 = matchArray [1];
Month = MatchArray [2];
day = matchArray [3];
}
if (Month <1 || Month> 12)
{
f_alert (obj, "달은 1에서 12까지의 정수");
거짓을 반환합니다.
}
if (day <1 || day> 31)
{
f_alert (obj, "매월 일수는 1에서 31 사이의 정수");
거짓을 반환합니다.
}
if ((Month == 4 || Month == 6 || Month == 9 || Month == 11) && day == 31)
{
f_alert (obj, "달은 31 일에 존재하지 않습니다");
거짓을 반환합니다.
}
if (Month == 2)
{
var isleap = (년 % 4 == 0 && (년 % 100! = 0 || 년 % 400 == 0));
if (day> 29)
{
f_alert (obj, "2 월은 최대 29 일입니다");
거짓을 반환합니다.
}
if ((day == 29) && (! isleap))
{
f_alert (obj, "윤년에는 29 일 밖에되지 않음");
거짓을 반환합니다.
}
}
진실을 반환하십시오.
}
/*
기능 : 검증 형식은 yyy 년 연도 mm 달 dd day hh 시간 mm 분 ss 초 Ss 초
프롬프트 메시지 : 입력 또는 입력되지 않은 시간 형식이 잘못되었습니다.
사용 : f_check_time (OBJ)
반환 : 부울
*/
함수 f_check_time (obj)
{
var time = trim (obj.value);
var dtype = obj.eos_datatype;
var format = dtype.substring (dtype.indexof ( "("( "))+1, dtype.indexof (") "); // 날짜 형식
var datepat, matchArray, 연도, 월, 일, 시간, 분, 두 번째;
if (/^(y {4}) (-| //) (m {1,2})/2 (d {1,2}) (hh : mm : ss) $/. test (format)).
datepat =/^(/d {4}) (-| //) (/d {1,2})/2 (/d {1,2}) (/d {1,2}) : (/d {1,2}) : (/d {1,2}) : (/d {1,2}) $/;
else if (/^(y {4}) (연도) (m {1,2}) (Month) (d {1,2}) (d {1,2}) (d) (d) (d) (HH 시간, mm 분, ss 초) $/. test (형식))
datepat =/^(/d {4}) 연도 (/d {1,2}) 달 (/d {1,2}) 날 (/d {1,2}) 시간 (/d {1,2}) 분 (/d {1,2}) 초 $/;
else if (format == "yyyymmddhhhmmss")
datepat =/^(/d {4}) (/d {2}) (/d {2}) (/d {2}) (/d {2}) (/d {2}) (/d {2}) (/d {2}) $/;
또 다른
{
f_alert (obj, "날짜 형식이 잘못되었습니다");
거짓을 반환합니다.
}
matchArray = time.match (datePat);
if (matchArray == null)
{
f_alert (obj, "날짜 길이가 올바르지 않거나 날짜에 숫자가 아닌 기호가 있습니다");
거짓을 반환합니다.
}
if (/^(y {4}) (-| //) (m {1,2})/2 (d {1,2}) (hh : mm : ss) $/. test (format)).
{
연도 = matchArray [1];
Month = MatchArray [3];
day = matchArray [4];
시간 = matchArray [5];
Minute = matchArray [6];
두 번째 = matchArray [7];
} 또 다른
{
연도 = matchArray [1];
Month = MatchArray [2];
day = matchArray [3];
시간 = matchArray [4];
Minute = matchArray [5];
두 번째 = matchArray [6];
}
if (Month <1 || Month> 12)
{
f_alert (obj, "달은 1에서 12까지의 정수");
거짓을 반환합니다.
}
if (day <1 || day> 31)
{
f_alert (obj, "매월 일수는 1에서 31 사이의 정수");
거짓을 반환합니다.
}
if ((Month == 4 || Month == 6 || Month == 9 || Month == 11) && day == 31)
{
f_alert (obj, "달은 31 일에 존재하지 않습니다");
거짓을 반환합니다.
}
if (Month == 2)
{
var isleap = (년 % 4 == 0 && (년 % 100! = 0 || 년 % 400 == 0));
if (day> 29)
{
f_alert (obj, "2 월은 최대 29 일입니다");
거짓을 반환합니다.
}
if ((day == 29) && (! isleap))
{
f_alert (obj, "윤년에는 29 일 밖에되지 않음");
거짓을 반환합니다.
}
}
if (Hour <0 || Hour> 23)
{
f_alert (obj, "시간은 0에서 23 사이의 정수");
거짓을 반환합니다.
}
if (분 <0 || 분> 59)
{
f_alert (obj, "점수는 0에서 59 사이의 정수");
거짓을 반환합니다.
}
if (두 번째 <0 || 두 번째> 59)
{
f_alert (obj, "초는 0에서 59 사이의 정수");
거짓을 반환합니다.
}
진실을 반환하십시오.
}
/*현재 객체가 보이는지 판단*/
기능은 Visible (obj) {
var 비사트, disatt;
노력하다{
disatt = obj.style.display;
Visatt = obj.style.visibility;
} catch (e) {}
if (disatt == "none"|| visatt == "hidden")
거짓을 반환합니다.
진실을 반환하십시오.
}
/*현재 객체와 부모 객체가 보이는지 판단*/
함수 checkprvis (obj) {
var pr = obj.parentNode;
하다{
if (pr == 정의되지 않은 || pr == "undefined") true를 반환합니다.
또 다른{
if (! isvisible (pr)) false를 반환합니다.
}
} while (pr = pr.parentNode);
진실을 반환하십시오.
}
/* 경고 대화 상자가 나타납니다. 사용자가 클릭하면 확인을 확인한 후 커서를 오류 텍스트 상자에 놓고 원래 입력 컨텐츠를 선택합니다. */
함수 f_alert (obj, acertinfo)
{
var 캡션 = obj.getAttribute ( "eos_displayname");
if (caption == null)
캡션 = "";
ALERT (Caption + ":" + AlertInfo + "!");
obj.select ();
if (isvisible (obj) && checkprvis (obj))
obj.focus ();
}
/**
* 문자열이 비어 있는지 확인하십시오
*/
기능 isnull (str)
{
var i;
if (str.length == 0)
진실을 반환하십시오.
for (i = 0; i <str.length; i ++)
{
if (str.charat (i)! = '')
거짓을 반환합니다.
}
진실을 반환하십시오.
}
/**
* 지정된 텍스트 상자의 입력이 합법적인지 확인하십시오.
* 사용자가 무언가 잘못 입력하면 신속한 대화 상자가 나타납니다.
* 동시에 텍스트 상자와 텍스트 상자 앞에 집중하십시오.
* 경고 아이콘이 나타납니다 (입력 후에 자동으로 제거됩니다).
*/
함수 checkinput (객체)
{
var 이미지;
var i;
var 길이;
if (object.eos_maxsize + ""! = "undefined") length = object.eos_maxsize;
다른 길이 = 0;
if (object.eos_isnull == "true"&& isnull (object.value)) true;
/* 길이 점검*/
if (length! = 0 && strlen (Object.value)> parseint (length)) {
f_alert (객체, "최대 길이는 초과" + 길이);
거짓을 반환합니다.
}
/* 데이터 유형 확인*/
또 다른 {
if (object.eos_datatype + ""! = "undefined")
{
var dtype = object.eos_datatype;
var objname = Object.Name;
// 유형 이름에 괄호가 뒤 따르는 경우 괄호 앞의 문자열은 체크 유형으로 간주됩니다.
if (dtype.indexof ( "(")! = -1)
dtype = dtype.substring (0, dtype.indexof ( "("));
// 확인 유형의 페이지 요소에 따라 확인하십시오
노력하다{
if (eval ( "f_check_" + dtype + "(Object)"! = true)
거짓을 반환합니다.
} catch (e) {return true;}
/* 이름의 상반기가 형태로 존재하고 "Min"및 "Max"로 끝나는 형태의 필드가 있으면
그런 다음 간격으로 쿼리로 간주됩니다. 즉, 양식 필드 종료 "Min"의 값은 "max"양식 필드의 값보다 작거나 동일해야합니다. */
if (objname.substring ((objname.length-3), objname.length) == "min")
{
var objmaxname = objname.substring (0, (objname.length-3)) + "max";
if (document.getElementById (objmaxName)! = undefined && document.getElementById (objmaxName)! = "undefined")
{
if (checkinterValoBjs (Object, document.getElementById (objmaxName))! = true)
거짓을 반환합니다.
}
}
}
}
진실을 반환하십시오.
}
/* 양식의 onsubmit 이벤트에 일반적으로 사용되는 모든 입력 항목의 정확성을 확인하십시오*/
함수 checkform (myform)
{
var i;
for (i = 0; i <myform.elements.length; i ++)
{
/* 비 커스텀 속성은 무시됩니다*/
if (myform.ements [i] .eos_displayname + ""== "undefined") 계속;
/* 비어 있지 않은 점검*/
if (myform.elements [i] .eos_isnull == "false"&& isnull (myform.elements [i] .value)) {
f_alert (myform.elements [i], "비어질 수 없다");
거짓을 반환합니다.
}
/* 데이터 유형 확인*/
if (checkInput (myform.elements [i]) == false)
거짓을 반환합니다.
}
진실을 반환하십시오.
}
/**
* 두 양식 필드에서 데이터의 크기를 확인하십시오. 현재 날짜와 숫자 만 허용됩니다.
* @param obj1 작은 값 양식 필드
* @param obj2 큰 값 형태 필드
*/
함수 checkintervalobjs (OBJ1, OBJ2)
{
var caption1 = obj1.getAttribute ( "eos_displayname");
var caption2 = obj2.getAttribute ( "eos_displayname");
var val1 = parsefloat (obj1.value);
var val2 = parsefloat (obj2.value);
// 비 의사 속성은 무시됩니다
if (obj1.eos_displayname + ""== "undefined"|| obj2.eos_displayname + ""== "undefined") {
거짓을 반환합니다.
}
// 날짜 유형 비교
if (f_check_date (obj1) == true && f_check_date (obj2) == true) {
var dtype = obj1.eos_datatype;
var format = dtype.substring (dtype.indexof ( "("( "))+1, dtype.indexof (") "); // 날짜 형식
val1 = getDateByformat (obj1. value, format);
dtype = obj2.eos_datatype;
format = dtype.substring (dtype.indexof ( "("( "))+1, dtype.indexof (") "); // 날짜 형식
val2 = getDateByformat (obj2.value, 형식);
if (val1> val2) {
obj2.select ();
if (isvisible (obj) && checkprvis (obj))
obj2.focus ();
Alert (Caption1 + "시작 날짜는 종료 날짜보다 클 수 없습니다!");
거짓을 반환합니다.
}
}
// 숫자 유형 비교
if ((isnan (val1) &&! isnull (val1)) || (isnan (val2) &&! isnull (val2)) {
ALERT (Caption1 + "모든 숫자의 값이 숫자 인 경우 비교할 수 없습니다!");
거짓을 반환합니다.
}
if (val1> val2) {
obj2.select ();
if (isvisible (obj) && checkprvis (obj))
obj2.focus ();
Alert (Caption1 + "시작 값은 최종 가치보다 클 수 없습니다!");
거짓을 반환합니다.
}
진실을 반환하십시오.
}
/* 날짜 형식에 따라 문자열을 날짜로 변환합니다.
형식 : YYYY 년, MM-MONTH, DD-DAY, HH-HOUR, MM 분, SS-SECOND.
(예 : 형식은 전체적으로 작성되어야합니다. YY-MD는 허용되지 않습니다. 그렇지 않으면 NULL이 반환됩니다. 형식은 실제 데이터와 일치하지 않으며 NULL을 반환합니다.)
기본 형식 : YYYY-MM-DD HH : MM : SS, YYYY-MM-DD. */
함수 getDateByFormat (str) {
var datereg, 형식;
vary, m, d, h, m, s, yi, mi, di, hi, mi, si;
if (((인수 [1] + "") == "undefined") format = "yyyy-mm-dd hh : mm : ss";
else 형식 = 인수 [1];
yi = format.indexof ( "yyyy");
mi = format.indexof ( "mm");
di = format.indexof ( "dd");
hi = format.indexof ( "hh");
mi = format.indexof ( "mm");
si = format.indexof ( "ss");
if (yi == -1 || mi == -1 || di == -1) return null;
또 다른{
y = parseint (str.substring (yi, yi+4));
m = parseint (str.substring (mi, mi+2));
d = parseint (str.substring (di, di+2));
}
if (isnan (y) || isnan (m) || isnan (d)) return null;
if (hi == -1 || mi == -1 || si == -1) 새 날짜 (y, m -1, d);
또 다른{
h = str.substring (hi, hi+4);
m = str.substring (mi, mi+2);
s = str.substring (si, si+2);
}
if (iSnan (parseint (y)) || isnan (parseint (m)) || isnan (parseint (d))) 새 날짜 (y, m-1, d);
그렇지 않으면 새 날짜를 반환합니다 (Y, M-1, D, H, M, S);
}
/*ltrim (문자열) : 왼쪽의 공간을 제거*/
함수 ltrim (str) {
var whitespace = 새 문자열 ( "/t/n/r");
var s = 새 문자열 (str);
if (whitespace.indexof (s.charat (0))! = -1) {
var j = 0, i = s.length;
while (j <i && whitespace.indexof (s.charat (j))! = -1) {
J ++;
}
s = s.substring (j, i);
}
반환 s;
}
/*rtrim (문자열) : 오른쪽의 공간을 제거*/
함수 rtrim (str) {
var whitespace = 새 문자열 ( "/t/n/r");
var s = 새 문자열 (str);
if (whitespace.indexof (s.charat (s.length -1))! = -1) {
var i = s.length -1;
while (i> = 0 && whitespace.indexof (s.charat (i))! = -1) {
나--;
}
s = s.substring (0, i+1);
}
반환 s;
}
/*트림 (String) : 문자열의 양쪽에서 공백을 제거*/
기능 트림 (str) {
반환 rtrim (ltrim (str));
}