 | PHP Builder free solutions for web developers
|
|
|
COMPUSORY UPGRADE!!! Request an upgrade NOW! 32+ Pre-installed Modifications! 3 Server Locations to choose from: USA, UK and JAPAN.
11th December 2012 - phpBB88: All servers are upgraded to run using SSD drive. Click Here to report problems!
| View previous topic :: View next topic |
| Author |
Message |
Laufwerk Senior

Joined: 27 Mar 2008 Posts: 53 :
Items
|
Posted: Thu May 29, 2008 3:36 pm Post subject: I need check a field type hour in form.script-js |
|
|
Hello I need chek my field in this format HH:MM:SS in 24h,
please helpme
I have this code
| Code: |
function CheckTime(str){
hora=str;
if (hora=='') {return}
if (hora.length>8) {alert("Introdujo una cadena mayor a 8 caracteres");return}
if (hora.length!=8) {alert("Introducir HH:MM:SS");return}
a=hora.charAt(0) //<=2
b=hora.charAt(1) //<4
c=hora.charAt(2) //:
d=hora.charAt(3) //<=5
e=hora.charAt(5) //:
f=hora.charAt(6) //<5>3) || (a>2)) {alert("El valor que introdujo en la Hora no corresponde, introduzca un digito entre 00 y 23");return}
if (d>5) {alert("El valor que introdujo en los minutos no corresponde, introduzca un digito entre 00 y 59");return}
if (f>5) {alert("El valor que introdujo en los segundos no corresponde");return}
if (c!=':' || e!=':') {alert("Introduzca el caracter ':' para separar la hora, los minutos y los segundos");return}
}
but don't work it correct because i'm a Newbie in javascript, sorry |
|
|
| Back to top |
|
 |
Laufwerk Senior

Joined: 27 Mar 2008 Posts: 53 :
Items
|
Posted: Fri May 30, 2008 9:50 am Post subject: |
|
|
This is the complete code of file form.scripts.js
WORK IT CORRECT!!!
| Code: |
<!--//
////////////////////////////////////////////////////////////////////////////////
//
// JS Auto Form Validator version 1.0.4 (3.01.2008)
// Author: Leumas Naypoka <leumas>
// Lisence: GNU GPL
// Site: http://phpbuilder.blogspot.com
// Modified by Jordi Nin
// 1.- Float numbers - Convert 12,58 to 12.58
// 2.- New req_type HOUR ("req_type"=>"sh",) changes code in datagrid.class.php (case:"time" in input change readonly for ".$readonly." for the user can put the time manually)
//
////////////////////////////////////////////////////////////////////////////////
//
// Usage:
// -----
// //*** copy & paste this line between <head> and </head> tags
// <script></script>
//
// //*** copy & paste these lines between before your </form> tag
// </first>
// <input>
//
////////////////////////////////////////////////////////////////////////////////
// - new type checked for checkboxes |radiobuttons (> 0 or ????)
// - mistake renter instead of re-enter
// - u url
// wiki: - if element in non-displayed area -. error (must be non-dosplaed too)
// - w - web site address (or d - domain?) shared simbol
// =============================================================================
// TODO
// - end third letter for all types - strings
// - new type domain
// - template type - x - fields (xxx-xx-xx) with js template
// - getting started full + wiki
// - isSet - Parse (' "" ...) - pass dig + lett -> current not works */
// - level of difficulty for passwords - letters, l+digits etc.
// =============================================================================
var digits="0123456789";
var digits1="0123456789.";
var digits2="0123456789,";
var digits3="0123456789.,";
var textchars="/'\"[]{}()*&^%$#@!~?<>-_+=|\\ \r\t\n.,:;`";
var lwr="abcdefghijklmnopqrstuvwxyz";
var upr="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var diac_lwr='áàâäåéèëêìíîïòóôõöøùúûüýñæßç';
var diac_upr='ÁÀÂÄÅÉÈËÊÌÍÎÏÒÓÔÕÖØÙÚÛÜÝÑÆßÇ';
// r - required, s - simple
var rtypes="rs";
// n - numeric, i - integer, f - float,
// a - alphabetic, t - text, e - email,
// p - password, y - any, l - login
// z - zipcode, v - verified c- checked (for chekboxes)
// u - url
var vtypes="hnifatepylzvcu";
// for numbers: s - signed, u - unsigned, p - positive, n - negative
// for strings: u - upper, l - lower, n - normal, y - any
var svtypes="supnly";
function makeArray(n){for(var i=1; i<=n;i++){this[i]=0;}return this;};
var dInM=makeArray(12);dInM[1]=31;dInM[2]=29;dInM[3]=31;dInM[4]=30;dInM[5]=31;dInM[6]=30;dInM[7]=31;dInM[8]=31;dInM[9]=30;dInM[10]=31;dInM[11]=30;dInM[12]=31;
var PassLength=6;
var LoginLength=6;
var bgcolor_error = "#ff8822";
var bgcolor_normal_1 = "#ffffff";
var bgcolor_normal_2 = "#fcfaf6";
var MaxInt=13
var MaxString=30;
var MaxAdress=200;
var MaxCP=15;
var whitespace=" \t\n\r";
var decimalPointDelimiter=".";
var hourDelimiter=":";
var phoneNumberDelimiters="()- ";
var validPhoneChars=digits + phoneNumberDelimiters;
var validWorldPhoneChars=digits + phoneNumberDelimiters + "+";
var SSNDelimiters="- ";
var validSSNChars=digits + SSNDelimiters; // intr-un nr. SSN
var digitsInSocialSecurityNumber=9;
var digitsInPhoneNumber=9;
var digitsInMinPhoneNumber=5;
var ZIPCodeDelimiters="-";
var validZIPCodeChars=digits + ZIPCodeDelimiters;
var digitsInZIPCode1=5;
var digitsInZIPCode2=9;
var creditCardDelimiters=" "
var USStateCodeDelimiter="|";
var DEOK=false;
function isEmpty(s){
return((s==null)||(s.length==0))
}
function isShorter(str_text, str_length){s_length=(str_length==null) ? "1" : str_length;if(str_text.length < s_length) return true;else return false;}
function isValid(parm,val){if(parm=="")return true;for(i=0;i<parm.length;i++){if(val.indexOf(parm.charAt(i),0)==-1)return false;}return true;}
function isSubmitReqType(parm){return isLower(parm) && isValid(parm,rtypes);}
function isSubmitVarType(parm){return isLower(parm) && isValid(parm,vtypes);}
function isSubmitSubVarType(parm){return isLower(parm) && isValid(parm,svtypes);}
function isNumeric(parm,type){ptype=(type==null)?"0":type; pdigits=-1;switch(ptype){case 0:pdigits=digits;break;case1:pdigits=digits1;break;case 2:pdigits=digits2;break;case 3:pdigits=digits3;break;default:pdigits=digits;break;}return isValid(parm,pdigits);}
function isLower(parm){return isValid(parm,lwr);}
function isUpper(parm){return isValid(parm,upr);}
function isAlpha(parm){return isValid(parm,lwr + upr);}
function isAlphaNumeric(parm){return isValid(parm,lwr + upr + digits);}
function isText(parm){return isValid(parm,lwr + upr + digits3 + textchars + diac_lwr + diac_upr);}
function isAny(parm){return true;}
function isWhitespace(s){i=0;if(isEmpty(s)) return true; for(i=0;i<s>="a")&&(c<="z"))||((c>="A")&&(c<="Z")))}
function isDigit(c){return ((c>="0")&&(c<="9"))}
function isLetterOrDigit(c){return (isLetter(c)||isDigit(c))}
// integer checking
function isInteger(s){ i; if(isEmpty(s)) if(isInteger.arguments.length==1) return DEOK; else return (isInteger.arguments[1]==true); for(i=0;i<s>1) secondArg=isSignedInteger.arguments[1]; if((s.charAt(0)=="-") || (s.charAt(0)=="+")) startPos=1; return (isInteger(s.substring(startPos,s.length),secondArg));}}
function isPositiveInteger(s){secondArg=DEOK;if(isPositiveInteger.arguments.length > 1) secondArg=isPositiveInteger.arguments[1];return (isSignedInteger(s,secondArg) && ((isEmpty(s) && secondArg) || (parseInt(s) > 0)));}
function isNegativeInteger(s){secondArg=DEOK;if(isNegativeInteger.arguments.length > 1) secondArg=isNegativeInteger.arguments[1]; return (isSignedInteger(s,secondArg) && ((isEmpty(s) && secondArg) || (parseInt(s) <0>=a) && (num <=b));}
// float checking
function isFloat(s){
i=0;
seenDecimalPoint=false;
if(isEmpty(s)){
if (isFloat.arguments.length==1) return DEOK;
else return (isFloat.arguments[1]==true);
}
if(s==decimalPointDelimiter) return false;
for(i=0; i <s> 1) secondArg=isSignedFloat.arguments[1];
if((s.charAt(0)=="-") || (s.charAt(0)=="+")) startPos=1;
return (isFloat(s.substring(startPos, s.length), secondArg))
}
}
function isPositiveFloat(s){
secondArg=DEOK;
if(isPositiveFloat.arguments.length > 1) secondArg=isPositiveFloat.arguments[1];
return (isSignedFloat(s,secondArg) && ((isEmpty(s) && secondArg) || (parseInt(s) > 0)));
}
function isNegativeFloat(s){
secondArg=DEOK;
if(isNegativeFloat.arguments.length > 1) secondArg=isNegativeFloat.arguments[1];
return (isSignedFloat(s,secondArg) && ((isEmpty(s) && secondArg) || (parseInt(s) < 0)));
}
// By Jordi Nin
// Funcion que busca si hay , para cambiarla por .
function convertFloat(s){
i=0;
new_value = "";
value_changed = false;
for(i=0; i < s.length; i++){
c=s.charAt(i);
if (c==","){
c=".";
value_changed=true;
}
new_value = new_value + c;
}
s = new_value;
return s;
}
function isAlphabetic(s){i=0;if(isEmpty(s))if(isAlphabetic.arguments.length==1) return DEOK;else return (isAlphabetic.arguments[1]==true);for(i=0;i<s.length;i++){c=s.charAt(i);if(!isLetter(c)) return false;}return true;}
function isAlphanumeric(s){i=0;if(isEmpty(s))if(isAlphanumeric.arguments.length==1) return DEOK;else return (isAlphanumeric.arguments[1]==true);for(i=0;i<s.length;i++){c=s.charAt(i);if(!(isLetter(c) || isDigit(c))) return false;}return true;}
function isZipCode(s){return isValid(s,validZIPCodeChars);}
function Trim(fld){result="";c=0; for(i=0;i<fld> 0){result +=fld.charAt(i);if (fld.charAt(i) !=" ") c=result.length;}}return result.substr(0,c);}
function isEmail(s){if(isEmpty(s))if(isEmail.arguments.length==1) return DEOK;else return(isEmail.arguments[1]==true);if(isWhitespace(s)) return false;i=1;sLength=s.length;while((i<sLength>=sLength) || (s.charAt(i) !="@")) return false;else i +=2;while((i <sLength>=sLength - 1) || (s.charAt(i) !=".")) return false;else return true;}
function isPassword(s){return !isShorter(s,PassLength) && isValid(s,lwr+upr + digits);};
function isLogin(s){return (!isShorter(s,LoginLength) && isValid(s.charAt(0),lwr + upr) && isValid(s,lwr + upr + digits));};
function validField(fld){fld=stripBlanks(fld);if(fld=='') return false;return true;}
function isMobPhoneNumber(s){if(isEmpty(s))if(isMobPhoneNumber.arguments.length==1) return DEOK; else return (isMobPhoneNumber.arguments[1]==true); return (isInteger(s) && s.length==digitsInPhoneNumber);}
function isFixPhoneNumber(s){if(isEmpty(s))if(isFixPhoneNumber.arguments.length==1) return DEOK; else return (isFixPhoneNumber.arguments[1]==true); return (isInteger(s) && s.length==digitsInPhoneNumber);}
function isInternationalPhoneNumber(s){if(isEmpty(s))if(isInternationalPhoneNumber.arguments.length==1) return DEOK; else return (isInternationalPhoneNumber.arguments[1]==true); return (isPositiveInteger(s)); }
function isYear(s){if(isEmpty(s))if(isYear.arguments.length==1)return DEOK; else return (isYear.arguments[1]==true); if (!isNonnegativeInteger(s)) return false; return (s.length==4);}
function isMonth(s){if(isEmpty(s))if(isMonth.arguments.length==1)return DEOK;else return (isMonth.arguments[1]==true);return isIntegerInRange(s,1,12);}
function isDay(s){if(isEmpty(s))if(isDay.arguments.length==1)return DEOK;else return (isDay.arguments[1]==true);return isIntegerInRange(s, 1, 31);}
function daysInFebruary(year){return(((year % 4==0) && ((!(year % 100==0)) || (year % 400==0) ) ) ? 29 : 28 );}
function isDate(year,month,day){if(!(isYear(year,false) && isMonth(month, false) && isDay(day, false))) return false; intYear=parseInt(year); intMonth=parseInt(month); intDay=parseInt(day); if (intDay > dInM[intMonth]) return false; if ((intMonth==2) && (intDay > daysInFebruary(intYear))) return false; return true; }
function isChecked(frm,ind){ return frm.elements[ind].checked; };
function isURL(url){
var RegExp = /^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/;
if(RegExp.test(url)){
return true;
}else{
return false;
}
}
function isHour(hour){
if(isEmpty(hour)){
if (isHour.arguments.length==1) return DEOK;
else return (isHour.arguments[1]==true);
}
if(hour==hourDelimiter) return false;
if (hour.length>8) {
// alert("Introdujo una cadena mayor a 8 caracteres");
return false;
}
else{
if (hour.length!=8) {
// alert("Introducir HH:MM:SS");
return false;
}
else{
a=hour.charAt(0); //<=2
b=hour.charAt(1); //<4
c=hour.charAt(2); //:
d=hour.charAt(3); //<=5
e=hour.charAt(4); // De 0 a 9
f=hour.charAt(5); //:
g=hour.charAt(6); //<5>3) || (a>2)) {
// alert("El valor que introdujo en la Hora no corresponde, introduzca un digito entre 00 y 23");
return false;
}
if ((d>5) || (isNaN(e))) {
// alert("El valor que introdujo en los minutos no corresponde, introduzca un digito entre 00 y 59");
return false;
}
if ((g>5) || (isNaN(h))) {
// alert("El valor que introdujo en los segundos no corresponde");
return false;
}
if (c!=hourDelimiter || f!=hourDelimiter) {
// alert("Introduzca el caracter ':' para separar la hora, los minutos y los segundos");
return false;
}
}
}
return true;
}
function convertHour(hour){
if(hour.length==0){
return (hour);
}
else{
if (hour.length==4){
// 0:00
if ( (!isNaN(hour.charAt(0))) && (!isNaN(hour.charAt(2))) && (!isNaN(hour.charAt(3))) && (hour.charAt(1)==hourDelimiter) ){
return ("0" + hour + ":00");
}
else{
//00:0
if ( (!isNaN(hour.charAt(0))) && (!isNaN(hour.charAt(1))) && (!isNaN(hour.charAt(3))) && (hour.charAt(2)==hourDelimiter) ) {
return (hour + "0:00");
}
else{
return hour;
}
}
}
else{
if (hour.length==5){
//00:00
if ( (!isNaN(hour.charAt(0))) && (!isNaN(hour.charAt(1))) && (!isNaN(hour.charAt(3))) && (!isNaN(hour.charAt(4))) && (hour.charAt(2)==hourDelimiter) ){
return (hour + ":00");
}
else{
return (hour);
}
}
return (hour);
}
}
}
function getProValidateFieldValue(frm,p_ind){cur_field_name=frm.elements[p_ind].name.substring(2,frm.elements[p_ind].name.length);cur_field_prefics = frm.elements[p_ind].name.substring(0,2);found_field_ind=-1;for(gvind=0;((gvind<frm.elements.length) && (found_field_ind==-1));gvind++){if((cur_field_name==frm.elements[gvind].name.substring(2, frm.elements[gvind].name.length)) && (cur_field_prefics != frm.elements[gvind].name.substring(0,2))){found_field_ind=gvind; break;}}if(found_field_ind !=-1) return frm.elements[found_field_ind].value;else return -1;}
function getValidateField(frm,p_ind,ret_type){cur_field_name=frm.elements[p_ind].name.substring(2,frm.elements[p_ind].name.length);found_field_ind=-1;for(gvind=0;((gvind<frm.elements.length) && (found_field_ind==-1));gvind++){if(cur_field_name==frm.elements[gvind].name.substring(2, frm.elements[gvind].name.length))found_field_ind=gvind;}if(found_field_ind !=-1){if(ret_type=="type") return frm.elements[found_field_ind].name.charAt(1);else return frm.elements[found_field_ind].title;}else{return 0;}}
function isValidateField(frm,p_ind){validation_result=false;cur_field_name=frm.elements[p_ind].name.substring(2,frm.elements[p_ind].name.length);cur_field_type=frm.elements[p_ind].name.charAt(1);found_field_ind=-1;for(vind=0;((vind<frm.elements.length)&&(found_field_ind==-1));vind++){if((cur_field_type !=frm.elements[vind].name.charAt(1)) && (cur_field_name==frm.elements[vind].name.substring(2, frm.elements[vind].name.length)))found_field_ind=vind;}if(found_field_ind !=-1){if(frm.elements[found_field_ind].name.charAt(1)=="e"){validation_result=isEmail(frm.elements[p_ind].value);}else if(frm.elements[found_field_ind].name.charAt(1)=="p"){validation_result=isPassword(frm.elements[p_ind].value);}else{validation_result=false;}}else{validation_result=false;}return validation_result;}
function equalValidateField(frm,p_ind){validation_result=false;cur_field_name=frm.elements[p_ind].name.substring(2,frm.elements[p_ind].name.length);cur_field_type=frm.elements[p_ind].name.charAt(0);found_field_ind=-1;for(evind=0;((evind<frm.elements.length) && (found_field_ind==-1)); evind++){ if((cur_field_type !=frm.elements[evind].name.charAt(1)) && (cur_field_name==frm.elements[evind].name.substring(2, frm.elements[evind].name.length))) found_field_ind=evind; }if(found_field_ind !=-1){validation_result=(frm.elements[p_ind].value==frm.elements[found_field_ind].value);}else{validation_result=false;}return validation_result;}
function setNormalBackground(frm, ind){
if(frm.elements[ind].type.substring(0,6) !="select"){
frm.elements[ind].style.background = bgcolor_normal_1;
}else{
frm.elements[ind].style.background = bgcolor_normal_2;
}
}
function setErrorBackground(frm, ind){
frm.elements[ind].style.background = bgcolor_error;
}
function getFieldTitle(frm,ind){title_field=frm.elements[ind].title;if(title_field=="")title_field=frm.elements[ind].name.substring(3,frm.elements[ind].name.length);return title_field;}
function onSubmit(frm){return true;}
function onReqAlert(frm,ind,all_fields){
check_all_fields = (all_fields==null) ? false : true;
is_first_found = (is_found==null) ? false : is_found;
title_of_field=getFieldTitle(frm,ind);
setErrorBackground(frm, ind);
if(!is_first_found) frm.elements[ind].focus();
if(check_all_fields){
return "The <" + title_of_field + "> is a required field!\n";
}else{
alert("The <" + title_of_field + "> is a required field!\nPlease, enter a valid " + title_of_field + ".");
if(frm.elements[ind].type.substring(0,6) !="select"){ frm.elements[ind].select(); }
return false;
}
}
function onInvalidAlert(frm,ind,ftype,fstype,all_fields){
check_all_fields = (all_fields==null) ? false : true;
is_first_found = (is_found==null) ? false : is_found;
type_of_field="value";
title_of_field=getFieldTitle(frm,ind);
switch (fstype){ //supnly
case 's': syb_type_of_field="a signed "; break;
case 'u': syb_type_of_field="an unsigned "; syb_type_of_field2="an upper case"; break;
case 'p': syb_type_of_field="a positive "; break;
case 'n': syb_type_of_field="a negative "; syb_type_of_field2="a normal case "; break;
case 'l': syb_type_of_field="a lower case "; break;
default: syb_type_of_field="a "; syb_type_of_field2="a "; break;
}
switch (ftype){
case 'n': type_of_field="be "+syb_type_of_field+"numeric value"; break;
case 'i': type_of_field="be "+syb_type_of_field+"integer value"; break;
case 'f': type_of_field="be "+syb_type_of_field+"float(real) value"; break;
case 'a': type_of_field="be "+syb_type_of_field2+"alphabetic value"; break;
case 't': type_of_field="be "+syb_type_of_field2+"text"; break;
case 'p': type_of_field="be " + PassLength + " characters at least\nand consist of letters and digits"; break;
case 'l': type_of_field="be " + LoginLength + " characters at least,\nstart from letter and consist of letters or digits"; break;
case 'z': type_of_field="be a zip(post) code value"; break;
case 'e': type_of_field="be in email format"; break;
case 'v': if(getValidateField(frm, ind, "type")=="e")
type_of_field="be in email format";
else if(getValidateField(frm, ind, "type")=="p")
type_of_field="be " + PassLength + " characters at least";
else
type_of_field="be a required type";
break;
case 'c': type_of_field=""; break;
case 'u': type_of_field="be a valid URL"; break;
case 'h': type_of_field="invalid format, please insert HH:MM:SS in 24h (MAX TIME 23:59:59)"; break;
default: break;
}
setErrorBackground(frm, ind);
if(!is_first_found) frm.elements[ind].focus();
if(check_all_fields){
if(ftype == "c") return "You have to sign <" + title_of_field + "> box as checked!\n";
else return "The <" + title_of_field + "> field must " + type_of_field + "!\n";
}else{
if(ftype == "c") alert("You have to sign <" + title_of_field + "> box as checked!\n");
else alert("The <" + title_of_field + "> field must " + type_of_field + "!\nPlease, re-enter.");
if(frm.elements[ind].type.substring(0,6) !="select") frm.elements[ind].select();
return false;
}
}
function onNotEqualAlert(frm,ind,all_fields,is_found){
check_all_fields = (all_fields==null) ? false : true;
is_first_found = (is_found==null) ? false : is_found;
type_of_field=getValidateField(frm, ind, "name");
title_of_field=getFieldTitle(frm,ind);
if(type_of_field==0) type_of_field="required field";
setErrorBackground(frm, ind);
if(!is_first_found) frm.elements[ind].focus();
if(check_all_fields){
return "The <" + title_of_field + "> field must be match with " + type_of_field + "!\n";
}else{
alert("The <" + title_of_field + "> field must be match with " + type_of_field + "!\nPlease, re-enter.");
if(frm.elements[ind].type.substring(0,6) !="select") frm.elements[ind].select();
return false;
}
}
// parametr - check hidden fields+check display.none fileds
function onSubmitCheck(frm, handle_all_fields, handle_hidden_fields){
check_all_fields = (handle_all_fields == null) ? false : handle_all_fields;
check_hidden_fields = (handle_hidden_fields == null) ? false : handle_hidden_fields;
is_required="";
a_type="";
b_type="";
msg = "";
is_found = false;
for(ind=0;ind<frm.elements.length;ind++){
if((frm.elements[ind].type.substring(0,6) != "submit") && (frm.elements[ind].type.substring(0,6) != "button"))
setNormalBackground(frm,ind);
}
for(ind=0;ind<frm> |
|
|
| Back to top |
|
 |
| |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|