/*
------------------------------------------------ --------------------
Nom du fichier : check.js
Description : Script JavaScript, utilisé pour vérifier l'entrée du formulaire de soumission de la page Web
Version des données : 1.0
*/
/*
Objectif : Vérifier le format de l'adresse IP
Entrée : strIP : adresse IP
Retour : S'il réussit la vérification, il renvoie vrai, sinon il renvoie faux ;
*/
function isIP(strIP) {
if (isNull(strIP)) return false;
var re=/^(d+).(d+).(d+).(d+)$/g // Expression régulière correspondant à l'adresse IP
if(re.test(strIP))
{
if( RegExp.$1 <256 && RegExp.$2<256 && RegExp.$3<256 && RegExp.$4<256) return true
}
return false
;
/*
Objectif : Vérifier si la chaîne d'entrée est vide ou composée d'espaces
. Entrée : str
Retour :
Si tout est vide, renvoie true, sinon renvoie false
*/
function isNull( str ){
if ( str == "" ) renvoie true ;
var regu = "^[ ]+$";
var re = new RegExp(regu);
return re.test(str)
;
/*
Objectif : Vérifier si la valeur de l'objet d'entrée est conforme au format entier
.Entrée : str La chaîne d'entrée
renvoie : true si la vérification réussit, sinon false.
*/
function isInteger( str ){
var regu = /^[-]{0,1}[0-9]{1,}$/;
return regu.test(str })
;
/*
Objectif : Vérifier si le numéro de téléphone portable saisi
est correctement saisi :
s : chaîne
return :
vrai s'il réussit la vérification, sinon faux
*/
function checkMobile( s ){
var regu =/^[1][3][0-9]{9}$/;
var re = new RegExp(regu)
if (re.test(s)) {
return vrai;
}else{
return false;
}
}
/*
Objectif : Vérifier si la chaîne d'entrée est conforme au format entier positif
Entrée :
s: string
return :
true si la vérification est réussie, sinon false.
*/
function isNumber( s ){
var regu = "^[0-9]+$";
var re = new RegExp(regu);
if (s.search(re) != -1) {
return true
} else
;{
retourner faux ;
}
}
/*
Objectif : Vérifier si la chaîne d'entrée est dans un format numérique avec des décimales, il peut s'agir d'une
entrée négative :
s: string
return :
true si elle réussit la vérification, sinon false
*/
function isDecimal( str ){
if(isInteger(str)) return true;
var
re = /^[-]{0,1}(d+)[.]+(d+)$/;
.test(str)) {
if
(RegExp.$1==0
&&RegExp.$2==0)
return
false
;
/*
Objectif : Vérifier si la valeur de l'objet d'entrée est conforme au format du numéro de port
. Entrée : str La chaîne d'entrée
renvoie : vrai si la vérification est réussie, sinon faux.
*/
function isPort( str ){
return (isNumber(str) && str<65536
}
);
/*
Objectif : Vérifier si la valeur de l'objet d'entrée est conforme au format E-Mail
Entrée : str La chaîne d'entrée
renvoie : vrai si elle réussit la vérification, sinon faux
*/
function isEmail( str ){
var myReg = /^[-_A-Za-z0-9]+@([_A-Za-z0-9]+.)+[A-Za-z0-9]{ 2,3}$/;
if(myReg.test(str)) renvoie vrai ;
renvoie faux
;
/*
Objectif : Vérifier si la chaîne d'entrée est conforme au format du montant.
Le format est défini comme un nombre positif avec un point décimal, et jusqu'à trois chiffres peuvent
être saisis après le point décimal :
s : chaîne
return :
true si la vérification est effectuée. est passé, sinon faux
*/
function isMoney( s ){
var regu = "^[0-9
]+[.][0-9]{0,3}$";
var re = new RegExp(regu);
(s)) {
return true;
} else {
return false;
}
}
/*
Objectif : vérifier si la chaîne d'entrée est uniquement composée de lettres, de chiffres et de traits de soulignement anglais
. Entrée :
s: string
return :
renvoie true si la vérification est réussie, sinon. retourner faux
*/
function isNumberOr_Letter( s ){//Détermine s'il s'agit d'un chiffre ou d'une lettre
var regu = "^[0-9a-zA-Z_]+$";
var re = new RegExp(regu);
if (re.test(s)) {
return true;
}else{
return false
}
}
/*
Objectif : Vérifier si la chaîne d'entrée est uniquement composée de lettres et de chiffres anglais.
Entrée :
s : chaîne
de retour :
vrai si la vérification est réussie, sinon faux.
*/
function isNumberOrLetter( s ){//Détermine s'il s'agit d'un chiffre ou d'une lettre
var regu = "^[0-9a-zA-Z]+$";
var re = new RegExp(regu);
if
(
re.test(s))
{
return
true
;
Objectif : vérifier si la chaîne d'entrée est uniquement composée de caractères chinois, de lettres et de chiffres.
Entrée :
valeur : chaîne.
Renvoie :
vrai si la vérification est réussie, sinon faux.
*/
function isChinaOrNumbOrLett( s ){//Détermine si elle est composée de caractères chinois, de lettres et de chiffres
var regu = "^[0-9a-zA-Zu4e00-u9fa5]+$";
var re = new RegExp(regu);
if (re.test(s)) {
return true
}else{
return false
;;
}
}
/*
Objectif : Déterminer s'il s'agit d'une
entrée de date : date : date; fmt : format de date
Retour : s'il réussit la vérification, renvoie true, sinon renvoie false
*/
function isDate(date, fmt) {
if (fmt==null) fmt="aaaaMMjj ";
var yIndex = fmt.indexOf("aaaa");
if(yIndex==-1) return false;
var
année = date.substring(yIndex,yIndex+4);
"MM") ;
if(mIndex==-1) return false;
var mois = date.substring(mIndex,mIndex+2);
var dIndex = fmt.indexOf("dd")
; return false;
var day = date.substring(dIndex,dIndex+2);
if(!isNumber(year)||year>"2100" || year< "1900") return false
; |mois>" 12" || mois< "01") return false;
if
(day>getMaxDay(year,month) || day< "01") return false
;
function getMaxDay(année,mois) {
if(mois==4||mois==6||mois==9||mois==11)
renvoie "30"
si(mois==2)
si(année%4
;==0&&year%100!=0 || year%400==0)
renvoie
"29"
sinon
renvoie
"28" ;
/*
Objectif : indique si le caractère 1 se termine par la chaîne 2.
Entrée : str1 : chaîne ; str2 : chaîne incluse.
Retour : s'il réussit la vérification, renvoie vrai, sinon renvoie faux.
*/
function isLastMatch(str1,str2)
{
var index = str1.lastIndexOf(str2);
if(str1.length==index+str2.length) return
true
;
/*
Objectif : indique si le caractère 1 commence par la chaîne 2.
input : str1 : string ; str2 : chaîne incluse.
Return : s'il réussit la vérification, renvoie true, sinon renvoie false.
*/
function isFirstMatch(str1,str2)
{
var index = str1.indexOf(str2);
if
(index==0) return true
;
/*
Objectif : Le caractère 1 est une chaîne contenant 2
Entrée : str1 : chaîne ; str2 : chaîne incluse
Retour : s'il réussit la vérification, il renvoie vrai, sinon il renvoie faux
*/
function isMatch(str1,str2)
{
var index = str1.indexOf(str2);
if
(index==-1) return false
;
/*
Objectif : Vérifier si les dates de début et de fin saisies sont correctes. La règle est que le format des deux dates est correct
et que la fin est comme prévu >= date de début
entrée :
startDate : date de début, chaîne
endDate : fin comme. planifié,
retour de chaîne :
si réussi, la vérification renvoie vrai, sinon renvoie faux
*/
function checkTwoDate( startDate,endDate) {
if( !isDate(startDate) ) {
alert("La date de début est incorrecte !"
} else if( !isDate(endDate) ) {
alert("Date de fin
);
Incorrect!");
return false;
} else if( startDate > endDate ) {
alert("La date de début ne peut pas être supérieure à la date de fin!");
return false;
}
return true;
}
/*
Objectif : Vérifier si le format de boîte aux lettres électronique saisi
est correctement saisi :
strEmail : chaîne
return :
vrai si la vérification est réussie, sinon faux
*/
function checkEmail(strEmail) {
//var emailReg = /^[_a-z0-9]+@([_a-z0-9]+.)+[a-z0-9]{2,3}$ /;
var emailReg = /^[w-]+(.[w-]+)*@[w-]+(.[w-]+)+$/
; (strEmail) ){
returntrue
;
}
else{
alert("Le format de l'adresse e-mail que vous avez saisi est incorrect !" )
;
/*
Objectif : Vérifier si le format du numéro de téléphone saisi est correct
. Entrez :
strPhone : string
return :
true s'il réussit la vérification, sinon false.
*/
function checkPhone( strPhone ) {
var phoneRegWithArea = /^[0][1-9]{2,3}-[0-9]{5,10}$/;
var phoneRegNoArea = /^[1-9] {1}[0-9]{5,8}$/;
var prompt = "Le numéro de téléphone que vous avez entré est incorrect !"
if( strPhone.length > 9 ) {
if( phoneRegWithArea.test(strPhone) ){
return true ;
}else{
alert( prompt );
return false;
}
}else{
if( phoneRegNoArea.test( strPhone ) ){
return true;
else{
alert(
return false
);
}
}
/*
Objectif : vérifier le nombre de cases à cocher sélectionnées.
Entrée :
checkboxID : chaîne.
Retour :
renvoyer le nombre de cases à cocher sélectionnées.
*/
function checkSelect( checkboxID ) {
var check = 0;
var i=0;
if( document.all(checkboxID).length > 0 ) {
for( i=0; i<document.all(checkboxID).length; i++ ) {
if( document.all(checkboxID).item( i ).checked ) {
check += 1
;
}
}else{
if( document.all(checkboxID).checked )
check = 1
}
return check
;
function getTotalBytes(varField) {
if(varField == null)
return -1 ;
var totalCount = 0;
for (i = 0; i< varField.value.length; i++) {
if
(varField.value.charCodeAt(
i) > 127)
totalCount += 2;
else
totalCount++
;
function getFirstSelectedValue( checkboxID ){
var value = null;
var i=0;
if( document.all(checkboxID).length > 0 ){
for( i=0; i<document.all(checkboxID).length; i++ ){
if
( document.all(checkboxID).item( i ).checked ){
value = document.all(
checkboxID
)
.item(i).value
break;
)
valeur = document.all(checkboxID).value
}
valeur de retour
}
function getFirstSelectedIndex( checkboxID ){
var value = -2;
var i=0;
if( document.all(checkboxID).length > 0 ){
for( i=0; i<document.all(checkboxID).length; i++ ) {
if( document.all(checkboxID).item( i ).checked ) {
value =i
;
break;
}
}
else
{
if( document.all(checkboxID).checked )
value = -1
;
fonction selectAll (checkboxID, statut) {
if(document.all(checkboxID) == null)
return;
if( document.all(checkboxID).length > 0 ){
for( i=0; i<document.all(checkboxID).length; i++ ){
document.all(checkboxID).item( i ).checked = status;
}
}
else {
document.all(checkboxID).checked = status
;
function selectInverse (checkboxID) {
if (document.all (checkboxID) == null)
return ;
if( document.all(checkboxID).length > 0 ) {
for( i=0; i<document.all(checkboxID).length; i++ ) {
document.all(checkboxID).item( i ).checked = !document .all(checkboxID).item( i ).checked;
}
}
else {
document.all(checkboxID).checked = !document.all(checkboxID).checked
;
function checkDate( value ) {
if(value=='') return true;
if
(value.length!=8 || !isNumber(value)) return false
;
année>"2100" || année< "1900")
renvoie false ;
var mois = valeur.substring(4,6);
if(mois>"12" || mois< "01") return false;
var day = value.substring(6,8);
if(day>getMaxDay(year,month) || day< "01") return false;
renvoie vrai ;
}
/*
Objectif : Vérifier si les dates de début et de fin saisies sont correctes. La règle est que le format des deux dates est correct ou que les deux sont vides
et la date de fin >= date de début.
Entrée :
startDate : date de début, chaîne
endDate : date de fin, string
return :
renvoie vrai si la vérification réussit, sinon renvoie faux
*/
function checkPeriod( startDate,endDate) {
if( !checkDate(startDate) ) {
alert("La date de début est incorrecte !"
} else if( !checkDate(endDate) ) {
alert("Date de fin
);
Incorrect!");
return false;
} else if( startDate > endDate ) {
alert("La date de début ne peut pas être supérieure à la date de fin!");
return false;
}
return true;
}
/*
Objectif : Vérifier si le code de sécurité
est saisi correctement :
secCode : code de sécurité
retour :
vrai si la vérification est réussie, sinon faux
*/
function checkSecCode( secCode ) {
if( secCode.length!
=6 ){
alert("La longueur du code de sécurité doit être de 6 chiffres")
;
if(!isNumber( secCode ) ){
alert("Les codes de sécurité ne peuvent contenir que des chiffres");
retourner faux;
}
retourner vrai
}
/*************************************************** ***** ***
function:cTrim(sInputString,iType)
description : Fonction pour supprimer les espaces des
paramètres de chaîne : iType : 1=Supprimer les espaces sur le côté gauche de la chaîne
2=Supprimer les espaces sur le côté gauche de la chaîne
0=Supprimer les espaces sur les côtés gauche et droit de la chaîne
valeur de retour : Chaîne avec les espaces supprimés
******************* ***** *******************************/
function cTrim(sInputString,iType)
{
var sTmpStr = ' ';
var je = -1 ;
if(iType == 0 || iType == 1)
{
while(sTmpStr == ' ')
{
++i;
sTmpStr =sInputString.substr
(i
,1)
;
if(iType == 0 || iType == 2)
{
sTmpStr = ' ';
i = sInputString.length;
while(sTmpStr == ' ')
{
--i;
sTmpStr = sInputString.substr(i,1)
;
sInputString = sInputString.substring(0,i+
1
)
;
/*
------------------------------------------------ --------------------
Description : script JavaScript, vérifiez les éléments de données dans le formulaire de début
--- ---- ----------------------------------------------- ---- -----------------------
*/
function checkForm(objFrm){
var len = 0;
len = objFrm.elements.length;
var i = 0;
var objCheck;
//Zone de texte
pour (i = 0; i < len; i ++){
objCheck = objFrm.elements[i];
if(objCheck.type == "text" && !f_checkTextValid( objCheck) ){
return false;
}
}
//Boîte déroulante
pour(i = 0; i < len; i ++){
objCheck = objFrm.elements[i];
if(objCheck.type ==select-one" && !f_checkSelectValid(objCheck) ) {
retourne faux ;
}
}
//La période est valide
if( f_checkStartAndEndDate(objFrm) == false) return false;
return
true;
}
function f_checkSelectValid(obj){
//alert("check select");
if(obj.options.length <= 0){
alert("Aucune donnée dans la zone de sélection déroulante!");
}
return true;
}
function f_checkStartAndEndDate(frm){
var len = frm.elements.length;
if(len == null && len ==
var
;
var
temp
;
objEndDate;
//alert("vérification de la période de date de début");
try{
for(i=0; i< len ; i++){
objCheck =frm.elements
[i]
;
"startDate") >0 ||temp.indexOf("beginDate")>0 )
objStartDate = objCheck;
if( temp.indexOf("endDate") > 0 )
objEndDate = objCheck;
}
//alerte(objStartDate.value);
//alerte(objEndDate.value);
if(objStartDate.value==null || objStartDate.value ==" || objStartDate.value ==null || objStartDate.value = = ""){
return true;
}
return checkTwoDate(objStartDate.value, objEndDate.value);
//alert("vérification de la date de fin");
}catch(E){}
return true
}
function f_checkTextValid(obj){
//Ne peut pas être vide
if(obj.getAttribute("isNeed") != null){
if(f_isNotNull(obj) == false) return false
}
//Ne peut pas dépasser la longueur
if(obj. getAttribute ("maxlength") != null){
if(f_checkLength(obj) == false) return false;
var
checkType ="";
checkType = obj.getAttribute("checkType")
; checkType == "") return true;
//
if (checkType.indexOf("number") >=0){
if(
f_isNumber(obj) == false) return false;
) renvoie faux ;
}
//
if (checkType.indexOf("positive") >=0){
if(f_isNumber(obj) == false) return false;
if(
f_isPositive(obj)==false) return false;
checkType) == false) renvoie false ;
}
if (checkType.indexOf("date") >=0){
if(f_checkDate(obj) == false) return false;
}
/*
switch(checkType){
case "number": if(f_isNumber(obj) == false) return false;break;
case "date": if(f_checkDate(obj) == false) return false;
break
;
*/
renvoie vrai ;
}
function f_isNotNull(obj){
if(obj.value == ""){
f_alert
(
obj, "Lesvaleurs
nulles ne sont pasautorisées
!");
function f_isNumber(obj){
if(isNaN(obj.value)){
f_alert(obj,"devrait être un type numérique")
;
}
renvoie vrai ;
}
function f_checkDate(obj) {
if(checkDate(obj.value) ==false){
f_alert(obj,"Pas un format de date légal !");
return false;
}
renvoie vrai
;
function f_checkLength(obj){
if(getTotalBytes(obj) > Math.abs( obj.getAttribute("maxlength") ) ){
f_alert(obj,"Longueur limite dépassée!");
return false;
}
renvoie vrai ;
}
function f_alert(obj,alertStr){
var fielName = obj.getAttribute("fieldName");
if(fielName == null)
fielName = "";
alert(fielName + "n" +alertStr
(
);obj.focus()
;
function f_checkNumType(obj, numType){
//Hypothèse : un jugement de type numérique a été effectué
var strTemp;
var
numric; var numLen;
var strArr;
vardefaultLen = 19
;
try{
if(numType == null|| numType =="") return f_checkNumLenPrec(obj,defaultLen, defaultpric);
if(numType.indexOf("(") < 0 || numType.indexOf(")") < 0 ) return f_checkNumLenPrec(obj,defaultLen, defaultpric);
strTemp = numType.substr( numType.indexOf("(") + 1 ,numType.indexOf(")") - numType.indexOf("(") -1 );
if (strTemp == null||strTemp =="") return f_checkNmLenPrec(obj,defaultLen, defaultpric)
;
numLen = Math.abs( strArr[0] );
numric = Math.abs( strArr[1] );
return f_checkNumLenPrec(obj,numLen, numric);
}catch(e){
alert("in f_checkNumType = " + e);
return f_checkNumLenPrec(obj,defaultLen, defaultpric)
;
}
function f_checkNumLenPrec(obj, len, pric){
var numReg;
var value = obj.value;
var strValueTemp, strInt, strDec ;
//alerte(valeur + "=====" + len + "====="+ prix
essayer{
);
numReg =/[-]/;
strValueTemp = value.replace(numReg, "");
strValueTemp = strValueTemp.replace(numReg, "");
//integer
if(pric==0){
numReg =/[. ]/;
//alert(numReg.test(value));
if(numReg.test(value) == true){
f_alert(obj, "L'entrée doit être un type entier !")
;
}
}
if(strValueTemp.indexOf(".") < 0 ){
//alert("lennth==" + strValueTemp);
if(strValueTemp.length >(len - pric)){
f_alert(obj,"
Le nombre de chiffres entiers ne peut pas dépasser "+ (len - pric) +" bits")
;
}else{
strInt = strValueTemp.substr( 0, strValueTemp.indexOf(".") );
//alerte("lennth==" + strInt);
if(strInt.length >(len - pric)){
f_alert(obj,"
Le nombre de chiffres entiers ne peut pas dépasser "+ (len - pric) +" bits")
;
strDec = strValueTemp.substr( (strValueTemp.indexOf(".")+1), strValueTemp.length );
//alerte("prix==" + strDec);
if(strDec.length > pric){
f_alert(obj, "Le
nombre de décimales ne peut pas dépasser "+ pric +" places")
;
}
return true;
}catch(e){
alert("in f_checkNumLenPrec = " + e
)
;
}
function f_isPositive(obj){
var numReg =/[-]/;
if(numReg.test(obj.value
) == true){
f_alert
(obj, "Doit
être un nombre positif !");
vrai ;
}
/*
function selectedCheckboxCount(form)
Description de la fonction : Compter les options sélectionnées dans le formulaire
Description du paramètre :
form : le formulaire spécifié
*/
function selectedCheckboxCount(form){
var length =0;
var i=0;
var count =0
;
while(i<eles.length){
obj= eles. item(i);
//type = obj.attributes.item("type").nodeValue;
type = obj.type;
if(type == "checkbox"){
if
(
obj.checked){
count++
}
}
i++
;
//Obtenir la
fonction de longueur d'octet getByteLen(str)
{
var l = str.length;
var n = l;
for ( var i=0; i<l; i++ )
if ( str.charCodeAt(i) <0 || str.charCodeAt(i) >255 )
n=n+1;
return n
}
/*
Instructions :
1. Effacer les données dans le tableau (0.0 et 0)
2. S'il n'y a aucune donnée dans la cellule, un espace sera automatiquement ajouté
3. Décochez la case de la ligne vide
Paramètres :
clearzero : s'il faut effacer "0" et "0.0", false pour ne pas effacer, true pour effacer (la valeur par défaut est true)
tablename : nom de la table à effacer, la valeur par défaut est sortTable
*/
function clear_table(clearzero,tablename)
{
var tobject;
if (tablename==null)
tobject=gmobj("sortTable");
else
tobject=gmobj(tablename);
//Si la table n'est pas définie, aucun filtrage ne sera effectué
if(tobject==null)
return;
//Si le paramètre d'appel de fonction est vide, cela signifie que 0 et 0.0 doivent être effacés ; sinon, 0 et 0.0 ne doivent pas être effacés.
var clear = (clearzero==null)?true:clearzero;
//Effacer 0, 0.0, remplir les espaces
var rows = tobject.rows;
var j=0;
for(var i=0;i<rows.length;i++)
{
//Obtenir l'attribut effacé de la première cellule, si 1, indiquant qu'il n'y a aucune donnée dans cette ligne, alors effacez toutes les données de cette ligne
while(tobject.rows[i].cells[j] != null)
{
if(clear)
{
if(tobject.rows[i].cells[j].innerHTML==0 ||tobject.rows[i]. cellules[j].innerHTML==0.0||tobject.rows[i].cells[j].innerHTML=="")
tobject.rows[i].cells[j].innerText=" "
}
else
{
if (tobject.rows[i].cells[j].innerHTML=="")
tobject.rows
[i].cells[j].innerText=" "
}
j++
;
}
renvoie vrai
;
function gmobj(mtxt) /* Obtenir l'objet par nom d'objet */
{
if (document.getElementById) {
m=document.getElementById(mtxt);
else if (document.all) {
m=document.all[mtxt]
} sinon if (document.layers) {
m=document.layers[mtxt];
return
m
}
/*
-------------------------- -------------------------------------------------- ---
Description : script JavaScript, vérifiez les éléments de données à la fin du formulaire
---------------------------------- --------------------------------------------------
*/
/*
Objectif : Vérifier si la chaîne d'entrée est un format numérique avec des décimales, qui peut être un nombre négatif (et répondre à la précision spécifiée)
input : str : chaîne
l : nombre total de chiffres
d : nombre de chiffres après la virgule décimale
Retour :
vrai si la vérification est réussie, sinon renvoie faux
*/
function isDecimal( str,l,d ){
if(isInteger(str)) {
if (l==null) return true
if (str<0) l--;
if (str.length<=l) return vrai;
}
var re = /^[-]{0,1}(d+)[.]+(d+)$/;
if (re.test(str)) {
if (l==null) renvoie vrai
if
;(d==null) d=0;
if(RegExp.$1==0&&RegExp.$2==0) renvoie faux
si (RegExp.$1.length+RegExp.$2.length<=l
&& RegExp.$2.length< =d) renvoie vrai
}
renvoie faux
}
onclick="isNull('Co.PageForm.CompetitorName');"