Редактор собрал множество примеров регулярных выражений, обычно используемых в JavaScript, и все они используются сами по себе. Теперь я поделюсь ими с вами.
Кода -копия выглядит следующим образом:
/**
* Получить байт длины строки
*/
Функция strlen (str)
{
var i;
Вар Лен;
len = 0;
для (i = 0; i <str.length; i ++)
{
if (str.charcodeat (i)> 255) len+= 2; иначе len ++;
}
вернуть Лен;
}
/*
* Определите, является ли это число, вернуть True, в противном случае вернуть ложь
*/
Функция f_check_number (obj)
{
if (/^/d+$/.test(obj.value))
{
вернуть истину;
}
еще
{
f_alert (obj, «Пожалуйста, введите число»);
вернуть ложь;
}
}
/*
* Чтобы определить, является ли это естественным числом, вернуть True, в противном случае вернуть ложь
*/
функция f_check_naturalnumber (obj)
{
var s = obj.value;
if (/^[0-9]+$/. Test (s) && (s> 0))
{
вернуть истину;
}
еще
{
f_alert (obj, «Пожалуйста, введите естественное число»);
вернуть ложь;
}
}
/*
* Чтобы определить, является ли это целым числом, вернуть True, в противном случае вернуть ложь
*/
Функция f_check_integer (obj)
{
if (/^(/+|-)?/d+$/. test (obj.value))
{
вернуть истину;
}
еще
{
f_alert (obj, «Пожалуйста, введите целое число»);
вернуть ложь;
}
}
/*
* Чтобы определить, является ли это реальным номером, вернуть True, в противном случае вернуть ложь
*/
Функция 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) {
alert ("in f_check_double =" + e);
вернуть ложь;
}
}
/*
* Проверьте минимальное максимальное значение числа
* Вернуться в Bool
*/
Функция 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 (значение))
{
f_alert (obj, "значение должно быть числом");
вернуть ложь;
}
if ((isnan (minval) && (minlimit! = "-")) || (isnan (maxval) && (maxlimit! = "+"))))))))))))))))))))))))))))))))))))))))))))))))
{
f_alert (obj, "граничное значение должно быть числом или -, +");
вернуть ложь;
}
if (minlimit == "-" &&! isnan (maxval))
{
if (значение> maxval)
{
f_alert (obj, «значение не может превышать» + maxval);
вернуть ложь;
}
}
if (! isnan (minval) && maxlimit == "+")
{
if (значение <minval)
{
f_alert (obj, «значение не может быть меньше, чем« + minval);
вернуть ложь;
}
}
if (! isnan (minval) &&! isnan (maxval))
{
if (minval> maxval)
{
f_alert (obj, «стартовое значение» + minval + »не может быть больше, чем завершающее значение» + maxval);
}еще
{
if (! (значение <= maxval && value> = minval)))
{
f_alert (obj, «значение должно быть между« + minval + »и« + maxval + »»);
вернуть ложь;
}
}
}
вернуть истину;
}
/*
Цель: Проверьте, состоит ли входная строка только из китайских символов
Если истина возвращается проверкой, в противном случае неверно
*/
функция f_check_zh (obj) {
if (/^^nb/u4e00-/u9fa5§+$/.test(obj.value)) {
вернуть истину;
}
f_alert (obj, «Пожалуйста, введите китайские иероглифы»);
вернуть ложь;
}
/*
* Определите, является ли это строчной английской буквой. Если это да, это вернет true, в противном случае он вернет ложь
*/
Функция f_check_lowercase (obj)
{
if (/^[az]+$/. test (obj.value))
{
вернуть истину;
}
f_alert (obj, «Пожалуйста, введите нижниеписание английские буквы»);
вернуть ложь;
}
/*
* Определите, является ли это капитальным английским буквами, вернуть True, в противном случае вернуть ложь
*/
Функция f_check_uppercase (obj)
{
if (/^[az]+$/. test (obj.value))
{
вернуть истину;
}
f_alert (obj, «Пожалуйста, введите заглавные буквы»);
вернуть ложь;
}
/*
* Чтобы определить, является ли это английским письмом, вернуть True, иначе верните ложный
*/
Функция f_check_letter (obj)
{
if (/^[a-za-z]+$/. test (obj.value))
{
вернуть истину;
}
f_alert (obj, «Пожалуйста, введите английские письма»);
вернуть ложь;
}
/*
Цель: Проверьте, состоит ли входная строка только из китайских символов, букв и чисел.
входить:
Значение: строка
возвращаться:
Если истина возвращается проверкой, в противном случае неверно
*/
Функция f_check_zhornumorlett (obj) {// судить, состоит ли он из китайских иерок, писем и чисел
var recu = "^[0-9A-za-z/u4e00-/u9fa5]+$";
var re = new Regexp (regu);
if (re.test (obj.value)) {
вернуть истину;
}
f_alert (obj, «Пожалуйста, введите китайские иероглифы, буквы или цифры»);
вернуть ложь;
}
/*
Цель: Проверьте формат IP -адреса
Введите: полоса: IP -адрес
Возврат: если истина возвращается проверкой, в противном случае неверно возвращается;
*/
Функция 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:k/^==)?/w+(^.^/w+| nus/ø/w*)***)?$/;
if (myreg.test (obj.value)) вернуть истин;
f_alert (obj, «Пожалуйста, введите законное веб -адрес»);
вернуть ложь;
}
/*
Цель: Проверьте, соответствует ли значение входного объекта формату электронной почты
Ввод: Str введенная строка
Возврат: если истина возвращается проверкой, в противном случае неверно
*/
функция f_check_email (obj) {
var myreg = /^(*-_a-za-z0-9/.■+)@(ns_a-za-z0-9§+/.)+=-za-z0-9^^ {2,3) $/;
if (myreg.test (obj.value)) вернуть истин;
f_alert (obj, «Пожалуйста, введите легальный адрес электронной почты»);
вернуть ложь;
}
/*
Требования: 1. Номер мобильного телефона составляет 11 или 12 цифр. Если это 12 цифр, то первая цифра равен 0
2. Первая и вторая цифры 11-значного номера мобильного телефона-«13»
В-третьих, вторая и третья цифра 12-значного номера мобильного телефона-«13»
Цель: Проверьте, правильно ли введен номер мобильного телефона
входить:
S: строка
возвращаться:
Если истина возвращается проверкой, в противном случае неверно
*/
функция f_check_mobile (obj) {
var regu =/(^[1] [3] [0-9] {9} $) | (^0 [1] [3] [0-9] {9} $)/;
var re = new Regexp (regu);
if (re.test (obj.value)) {
вернуть истину;
}
f_alert (obj, «Пожалуйста, введите правильный номер мобильного телефона»);
вернуть ложь;
}
/*
Требования: 1. Номер телефона состоит из чисел, "(", ")" и "-"
2. Телефонные номера составляют от 3 до 8 цифр
3. Если номер телефона содержит код области, то код области составляет три или четыре цифры.
4. Коды площадей отделены от других частей с помощью "(", ")" или "-"
Цель: Проверьте, находится ли введенный номер телефона в правильном формате
входить:
Strphone: String
возвращаться:
Если истина возвращается проверкой, в противном случае неверно
*/
Функция f_check_phone (obj)
{
var regu =/(^([0] [1-9] {2,3} [-])?/d {3,8} (-/d {1,6})?
var re = new 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 цифр»);
вернуть ложь;
}
вернуть истину;
}
/*
Идентификатор пользователя, который может быть комбинацией чисел, букв и подчеркиваний.
Первый персонаж не может быть числом, и общая длина не может превышать 20.
*/
Функция f_check_userid (obj)
{
var userid = obj.value;
if (userid.length> 20)
{
f_alert (obj, "Длина идентификатора не может быть больше 20");
вернуть ложь;
}
if (! isnan (userid.charat (0)))
{
f_alert (obj, «Первый символ ID не может быть числом»);
вернуть ложь;
}
if (!/^/w {1,20} $/. тест (userId))
{
f_alert (OBJ, «ID может состоять только из чисел, букв и подчеркивания»);
вернуть ложь;
}
вернуть истину;
}
/*
Функция: Убедитесь, является ли идентификационный номер действительным
Приглашенное сообщение: не введено или идентификационный номер неверен!
Использовать: f_check_idno (obj)
Возврат: bool
*/
Функция f_check_idno (obj)
{
var acity = {11: «Пекин», 12: «Tianjin», 13: «hebei», 14: «Shanxi», 15: «Inner Монголия ", 21:" liaoning ", 22:" Jilin ", 23:" Heilongjiang ", 31:" Shanghai ", 32:" Цзянсу ", 33: «Чжэцзян», 34: «Аньхой», 35: «Фуцзянь», 36: «Цзянси», 37: «Шандун», 41: «Хенань», 42: «Хубей», 43: «Хунань», 44: «Гуандун», 45: «Гуанси», 46: «Хейнан», 50: «Чунцин», 51: «СИЧУАН», 52: «Гуйчжоу», 53: «Юнь NAN ", 54:" Тибет ", 61:« Шэньси », 62:« Гансу », 63:« Цинхай », 64:« Нинсия », 65:« Синьцзян », 71:« Тайван », 81:« Хонг Конг ", 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, "незаконное идентификационный номер");
вернуть ложь;
}
// В последующей операции x эквивалентен номеру 10, поэтому он преобразуется в
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)+"-"+number (stridno.substr (10,2))+"-"+number (stridno.substr (12,2));
var d = новая дата (sbirthday.replace (/-/g, "/"))
if (sbirthday! = (d.getfylyear ()+ "-"+ (d.getmonth ()+ 1)+ "-"+ d.getDate ())))
{
f_alert (obj, "Незаконное день рождения");
вернуть ложь;
}
для (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, "незаконное идентификационный номер");
вернуть ложь;
}
}
иначе if (idcardlength == 15)
{
sbirthday = "19" + stridno.substr (6,2) + "-" + number (stridno.substr (8,2)) + "-" + № (stridno.substr (10,2));
var d = новая дата (sbirthday.replace (/-/g, "/"))
var dd = d.getaillyear (). 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 = new Regexp (regu);
if (re.test (str))
вернуть истину;
f_alert (OBJ, "не соответствует указанным требованиям регулярного выражения");
вернуть ложь;
}
/*
Функция: Определите, является ли это датой (формат: Yyyy Year Mm Month Date, Yyyy-mm-dd, yyyyy/mm/dd, yyyymmdd)
Совет: дата, не введенная и не введенная, неверна в формате!
Использование: f_check_date (obj)
Возврат: bool
*/
функция f_check_date (obj)
{
var date = trim (obj.value);
var dtype = obj.eos_datatype;
var format = dtype.substring (dtype.indexof ("(")+1, dtype.indexof (")")); // формат даты
var Year, Month, Day, DatePat, MatchArray;
if (/^(y {4}) (-| //) (m {1,2})/2 (d {1,2}) $/. test (format))
datePat =/^(/d {4}) (-| //) (/d {1,2})/2 (/d {1,2}) $/;
иначе if (/^(y {4}) (Год) (m {1,2}) (месяц) (d {1,2}) (d {1,2}) (d) $/. Тест (формат)))
datePat =/^(/d {4}) Год (/d {1,2}) месяц (/d {1,2}) день $/;
иначе 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];
месяц = матча [3];
Day = MatchArray [4];
} еще
{
Год = MatchArray [1];
месяц = матча [2];
Day = MatchArray [3];
}
if (месяц <1 || месяц> 12)
{
f_alert (obj, "месяц должен быть целым числом от 1 до 12");
вернуть ложь;
}
if (день <1 || день> 31)
{
f_alert (OBJ, «количество дней в месяц должно быть целым числом от 1 до 31»);
вернуть ложь;
}
if ((месяц == 4 || месяц == 6 || месяц == 9 || месяц == 11) && day == 31)
{
f_alert (obj, «месяц не существует 31 -го»);
вернуть ложь;
}
if (месяц == 2)
{
var iSleap = (год % 4 == 0 && (год % 100! = 0 || Год % 400 == 0));
if (день> 29)
{
F_Alert (OBJ, «Февраль имеет до 29 дней»);
вернуть ложь;
}
if ((day == 29) && (! Isleap))
{
F_Alert (OBJ, «В переметном году всего 29 дней»);
вернуть ложь;
}
}
вернуть истину;
}
/*
Функция: Формат проверки-это год мм месяц дд дд дд х ч часовые мм минуты секунд, yyyy-mm-dd hh: mm: ss, yyyyy/mm/dd hh: mm: ss, yyyymmddhmmss
Приглашенное сообщение: формат времени не введено и не введено неверно
Использование: f_check_time (obj)
Возврат: bool
*/
Функция 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}) $/;
иначе if (/^(y {4}) (Год) (m {1,2}) (месяц) (d {1,2}) (d {1,2}) (d) (HH час, мм минута, секунд) $/. Тест (формат)))
datePat =/^(/d {4}) Год (/d {1,2}) месяц (/d {1,2}) день (/d {1,2}) час (/d {1,2}) минута (/d {1,2}) секунды $/;
иначе if (format == "yyyymmddhhmmss")
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];
месяц = матча [3];
Day = MatchArray [4];
час = matcharray [5];
минута = matcharray [6];
второй = matcharray [7];
} еще
{
Год = MatchArray [1];
месяц = матча [2];
Day = MatchArray [3];
час = matcharray [4];
минута = MatchArray [5];
второй = matcharray [6];
}
if (месяц <1 || месяц> 12)
{
f_alert (obj, "месяц должен быть целым числом от 1 до 12");
вернуть ложь;
}
if (день <1 || день> 31)
{
f_alert (OBJ, «количество дней в месяц должно быть целым числом от 1 до 31»);
вернуть ложь;
}
if ((месяц == 4 || месяц == 6 || месяц == 9 || месяц == 11) && day == 31)
{
f_alert (obj, «месяц не существует 31 -го»);
вернуть ложь;
}
if (месяц == 2)
{
var iSleap = (год % 4 == 0 && (год % 100! = 0 || Год % 400 == 0));
if (день> 29)
{
F_Alert (OBJ, «Февраль имеет до 29 дней»);
вернуть ложь;
}
if ((day == 29) && (! Isleap))
{
F_Alert (OBJ, «В переметном году всего 29 дней»);
вернуть ложь;
}
}
if (час <0 || час> 23)
{
f_alert (obj, «часы должны быть целыми числами от 0 до 23»);
вернуть ложь;
}
if (минута <0 || минута> 59)
{
f_alert (obj, «оценка должна быть целым числом от 0 до 59»);
вернуть ложь;
}
if (второе <0 || второе> 59)
{
f_alert (obj, "Секунды должны быть целыми числами от 0 до 59");
вернуть ложь;
}
вернуть истину;
}
/*Судите, виден ли текущий объект*/
функция Isvisible (obj) {
var Visatt, Disatt;
пытаться{
disatt = obj.style.display;
visatt = obj.style.visisibule;
} catch (e) {}
if (disatt == "none" || visatt == "скрытый")
вернуть ложь;
вернуть истину;
}
/*Судите, видны ли текущий объект и его родительский объект*/
Функция CheckPrvis (obj) {
var pr = obj.parentnode;
делать{
if (pr == неопределенное || pr == "undefined") вернуть true;
еще{
if (! Isvisible (pr)) вернуть false;
}
} while (pr = pr.parentnode);
вернуть истину;
}
/* Появится диалоговое окно предупреждения. После того, как пользователь нажимает, чтобы подтвердить, поместите курсор в текстовое поле ошибки и выбирает исходное входное содержимое. */
Функция f_alert (obj, acertinfo)
{
var poption = obj.getAttribute ("eos_displayName");
if (Подпись == NULL)
Подпись = "";
оповещение (заголовок + ":" + alertinfo + "!");
obj.select ();
if (isvisible (obj) && checkprvis (obj))
obj.focus ();
}
/**
* Проверьте, пуста ли строка
*/
функция isnull (str)
{
var i;
if (str.length == 0)
вернуть истину;
для (i = 0; i <str.length; i ++)
{
if (str.charat (i)! = '')
вернуть ложь;
}
вернуть истину;
}
/**
* Проверьте, является ли ввод указанного текстового поля законным.
* Если пользователь вводит что -то не так, появится диалоговое окно приглашения.
* В то же время сосредоточьтесь на текстовом поле и перед текстовым поле
* Появится значок предупреждения (он будет автоматически удален после правильного ввода).
*/
Function 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 (длина! = 0 && strlen (object.value)> parseint (длина)) {
f_Alert (объект, «максимальная длина превышена» + длина);
вернуть ложь;
}
/* Проверка типа данных*/
еще {
if (object.eos_datatype + ""! = "Не определено")
{
var dtype = object.eos_datatype;
var objname = object.name;
// Если за именем типа следует кронштейны, строка перед кронштейнами рассматривается как тип проверки
if (dtype.indexof ("(")! = -1)
dtype = dtype.substring (0, dtype.indexof ("("));
// проверка в соответствии с типом проверки элементов страницы
пытаться{
if (eval ("f_check_" + dtype + "(объект)")! = true)
вернуть ложь;
} catch (e) {return true;}
/* Если первая половина имени существует в форме, и оба поля формы заканчиваются «мин» и «макс»,
Тогда это считается запросом по интервалу. То есть значение поля формы, заканчивающегося «мин», должно быть меньше или равно значению поля формы, заканчивающегося «Макс». */
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)
вернуть ложь;
}
}
}
}
вернуть истину;
}
/* Проверьте правильность всех элементов ввода в форме, обычно используемых для события в форме формы*//
Функциональная проверка (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
*/
Function checkintervalobjs (obj1, obj2)
{
var poption1 = obj1.getAttribute ("eos_displayName");
var poption2 = 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, формат);
dtype = obj2.eos_datatype;
format = dtype.substring (dtype.indexof ("(")+1, dtype.indexof (")")); // формат даты
val2 = getDateByformat (obj2.value, format);
if (val1> val2) {
obj2.select ();
if (isvisible (obj) && checkprvis (obj))
obj2.focus ();
предупреждение (Подпись1 + «Дата начала не может быть больше, чем дата окончания!»);
вернуть ложь;
}
}
// Сравнение числовых типов
if ((isnan (val1) &&! isnull (val1)) || (isnan (val2) &&! isnull (val2))) {
оповещение (Подпись1 + «Если значения не всех чисел являются числами, их нельзя сравнивать!»);
вернуть ложь;
}
if (val1> val2) {
obj2.select ();
if (isvisible (obj) && checkprvis (obj))
obj2.focus ();
оповещение (подписка1 + «Начальное значение не может быть больше, чем его конечное значение!»);
вернуть ложь;
}
вернуть истину;
}
/* Преобразовать строку на сегодняшний день в соответствии с форматом даты.
Формат: Yyyy-Year, MM-Month, DD-Day, HH-Hour, MM-Minute, SS-Second.
(Формат должен быть записан полностью, например: yy-MD, который не допускается, в противном случае null будет возвращен; формат не соответствует фактическим данным, а также вернет нуль.)
Формат по умолчанию: yyyy-mm-dd HH: MM: SS, Yyyy-MM-DD. */
функция getDateByformat (str) {
var Datereg, format;
var Y, M, D, H, M, S, Yi, Mi, Di, Hi, Mi, Si;
if ((Arguments [1] + "") == "undefined") format = "yyyy-mm-dd HH: MM: SS";
иначе формат = аргументы [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 (String): удалите пространство слева*/
функция ltrim (str) {
var whitespace = new String ("/t/n/r");
var s = new String (str);
if (witespace.indexof (s.charat (0))! = -1) {
var j = 0, i = s.length;
while (j <i && witespace.indexof (s.charat (j))! = -1) {
J ++;
}
S = S.Substring (J, I);
}
возврат S;
}
/*Rtrim (String): удалите пространство справа*/
функция rtrim (str) {
var whitespace = new String ("/t/n/r");
var s = new String (str);
if (witespace.indexof (s.charat (s.length -1))! = -1) {
var i = s.length - 1;
while (i> = 0 && witespace.indexof (s.charat (i))! = -1) {
я--;
}
S = S.Substring (0, I+1);
}
возврат S;
}
/*TRIM (String): Удалите пространства с обеих сторон строки*/
функция Trim (str) {
return rtrim (ltrim (str));
}