Changeset 615

Show
Ignore:
Timestamp:
10/18/07 23:28:24 (1 year ago)
Author:
laurentj
Message:

fixed bug #309: In jForm, javascript date validation doesn't work. p=arnaudj

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/1.0beta3.x/lib/jelix-www/js/jforms.js

    r612 r615  
    9494                        var t = val.match(/^(\d{4})\-(\d{2})\-(\d{2}) (\d{2}):(\d{2}):(\d{2})$/); 
    9595                        if(t == null){ ok=false; break; } 
    96                         var yy = parseInt(t[1]); 
    97                         var mm = parseInt(t[2]) -1; 
    98                         var dd = parseInt(t[3]); 
    99                         var th = parseInt(t[4]); 
    100                         var tm = parseInt(t[5]); 
    101                         var ts = parseInt(t[6]); 
     96                        var yy = parseInt(t[1],10); 
     97                        var mm = parseInt(t[2],10) -1; 
     98                        var dd = parseInt(t[3],10); 
     99                        var th = parseInt(t[4],10); 
     100                        var tm = parseInt(t[5],10); 
     101                        var ts = parseInt(t[6],10); 
    102102                        var dt = new Date(yy,mm,dd,th,tn,ts); 
    103103                        if(yy != dt.getFullYear() || mm != dt.getMonth() || dd != dt.getDate() || th != dt.getHours() || tm != dt.getMinutes() || ts != dt.getSeconds()) 
     
    109109                        var t = val.match(/^(\d{4})\-(\d{2})\-(\d{2})$/); 
    110110                        if(t == null){ ok=false; break; } 
    111                         var yy = parseInt(t[1]); 
    112                         var mm = parseInt(t[2]) -1; 
    113                         var dd = parseInt(t[3]); 
     111                        var yy = parseInt(t[1],10); 
     112                        var mm = parseInt(t[2],10) -1; 
     113                        var dd = parseInt(t[3],10); 
    114114                        var dt = new Date(yy,mm,dd,0,0,0); 
    115115                        if(yy != dt.getFullYear() || mm != dt.getMonth() || dd != dt.getDate()) 
     
    122122                        var t = val.match(/^(\d{2}):(\d{2}):(\d{2})$/); 
    123123                        if(t == null){ ok=false; break; } 
    124                         var th = parseInt(t[4]); 
    125                         var tm = parseInt(t[5]); 
    126                         var ts = parseInt(t[6]); 
     124                        var th = parseInt(t[4],10); 
     125                        var tm = parseInt(t[5],10); 
     126                        var ts = parseInt(t[6],10); 
    127127                        var dt = new Date(2007,05,02,th,tn,ts); 
    128128                        if(th != dt.getHours() || tm != dt.getMinutes() || ts != dt.getSeconds()) 
     
    136136                            var t = val.match(/^(\d{2})\/(\d{2})\/(\d{4}) (\d{2}):(\d{2}):(\d{2})$/); 
    137137                            if(t == null){ ok=false; break; } 
    138                             yy = parseInt(t[3]); 
    139                             mm = parseInt(t[2]) -1; 
    140                             dd = parseInt(t[1]); 
    141                             th = parseInt(t[4]); 
    142                             tm = parseInt(t[5]); 
    143                             ts = parseInt(t[6]); 
     138                            yy = parseInt(t[3],10); 
     139                            mm = parseInt(t[2],10) -1; 
     140                            dd = parseInt(t[1],10); 
     141                            th = parseInt(t[4],10); 
     142                            tm = parseInt(t[5],10); 
     143                            ts = parseInt(t[6],10); 
    144144                        }else{ 
    145145                            //default is en_* format 
    146146                            var t = val.match(/^(\d{2})\/(\d{2})\/(\d{4}) (\d{2}):(\d{2}):(\d{2})$/); 
    147147                            if(t == null){ ok=false; break; } 
    148                             yy = parseInt(t[3]); 
    149                             mm = parseInt(t[1]) -1; 
    150                             dd = parseInt(t[2]); 
    151                             th = parseInt(t[4]); 
    152                             tm = parseInt(t[5]); 
    153                             ts = parseInt(t[6]); 
     148                            yy = parseInt(t[3],10); 
     149                            mm = parseInt(t[1],10) -1; 
     150                            dd = parseInt(t[2],10); 
     151                            th = parseInt(t[4],10); 
     152                            tm = parseInt(t[5],10); 
     153                            ts = parseInt(t[6],10); 
    154154                        } 
    155155                        var dt = new Date(yy,mm,dd,th,tn,ts); 
     
    164164                            var t = val.match(/^(\d{2})\/(\d{2})\/(\d{4})$/); 
    165165                            if(t == null){ ok=false; break; } 
    166                             yy = parseInt(t[3]); 
    167                             mm = parseInt(t[2]) -1; 
    168                             dd = parseInt(t[1]); 
     166                            yy = parseInt(t[3],10); 
     167                            mm = parseInt(t[2],10) -1; 
     168                            dd = parseInt(t[1],10); 
    169169                        }else{ 
    170170                            //default is en_* format 
    171171                            var t = val.match(/^(\d{2})\/(\d{2})\/(\d{4})$/); 
    172172                            if(t == null){ ok=false; break; } 
    173                             yy = parseInt(t[3]); 
    174                             mm = parseInt(t[1]) -1; 
    175                             dd = parseInt(t[2]); 
     173                            yy = parseInt(t[3],10); 
     174                            mm = parseInt(t[1],10) -1; 
     175                            dd = parseInt(t[2],10); 
    176176                        } 
    177177                        var dt = new Date(yy,mm,dd,0,0,0); 
  • branches/1.0beta3.x/lib/jelix-www/js/jforms.js

    r612 r615  
    9494                        var t = val.match(/^(\d{4})\-(\d{2})\-(\d{2}) (\d{2}):(\d{2}):(\d{2})$/); 
    9595                        if(t == null){ ok=false; break; } 
    96                         var yy = parseInt(t[1]); 
    97                         var mm = parseInt(t[2]) -1; 
    98                         var dd = parseInt(t[3]); 
    99                         var th = parseInt(t[4]); 
    100                         var tm = parseInt(t[5]); 
    101                         var ts = parseInt(t[6]); 
     96                        var yy = parseInt(t[1],10); 
     97                        var mm = parseInt(t[2],10) -1; 
     98                        var dd = parseInt(t[3],10); 
     99                        var th = parseInt(t[4],10); 
     100                        var tm = parseInt(t[5],10); 
     101                        var ts = parseInt(t[6],10); 
    102102                        var dt = new Date(yy,mm,dd,th,tn,ts); 
    103103                        if(yy != dt.getFullYear() || mm != dt.getMonth() || dd != dt.getDate() || th != dt.getHours() || tm != dt.getMinutes() || ts != dt.getSeconds()) 
     
    109109                        var t = val.match(/^(\d{4})\-(\d{2})\-(\d{2})$/); 
    110110                        if(t == null){ ok=false; break; } 
    111                         var yy = parseInt(t[1]); 
    112                         var mm = parseInt(t[2]) -1; 
    113                         var dd = parseInt(t[3]); 
     111                        var yy = parseInt(t[1],10); 
     112                        var mm = parseInt(t[2],10) -1; 
     113                        var dd = parseInt(t[3],10); 
    114114                        var dt = new Date(yy,mm,dd,0,0,0); 
    115115                        if(yy != dt.getFullYear() || mm != dt.getMonth() || dd != dt.getDate()) 
     
    122122                        var t = val.match(/^(\d{2}):(\d{2}):(\d{2})$/); 
    123123                        if(t == null){ ok=false; break; } 
    124                         var th = parseInt(t[4]); 
    125                         var tm = parseInt(t[5]); 
    126                         var ts = parseInt(t[6]); 
     124                        var th = parseInt(t[4],10); 
     125                        var tm = parseInt(t[5],10); 
     126                        var ts = parseInt(t[6],10); 
    127127                        var dt = new Date(2007,05,02,th,tn,ts); 
    128128                        if(th != dt.getHours() || tm != dt.getMinutes() || ts != dt.getSeconds()) 
     
    136136                            var t = val.match(/^(\d{2})\/(\d{2})\/(\d{4}) (\d{2}):(\d{2}):(\d{2})$/); 
    137137                            if(t == null){ ok=false; break; } 
    138                             yy = parseInt(t[3]); 
    139                             mm = parseInt(t[2]) -1; 
    140                             dd = parseInt(t[1]); 
    141                             th = parseInt(t[4]); 
    142                             tm = parseInt(t[5]); 
    143                             ts = parseInt(t[6]); 
     138                            yy = parseInt(t[3],10); 
     139                            mm = parseInt(t[2],10) -1; 
     140                            dd = parseInt(t[1],10); 
     141                            th = parseInt(t[4],10); 
     142                            tm = parseInt(t[5],10); 
     143                            ts = parseInt(t[6],10); 
    144144                        }else{ 
    145145                            //default is en_* format 
    146146                            var t = val.match(/^(\d{2})\/(\d{2})\/(\d{4}) (\d{2}):(\d{2}):(\d{2})$/); 
    147147                            if(t == null){ ok=false; break; } 
    148                             yy = parseInt(t[3]); 
    149                             mm = parseInt(t[1]) -1; 
    150                             dd = parseInt(t[2]); 
    151                             th = parseInt(t[4]); 
    152                             tm = parseInt(t[5]); 
    153                             ts = parseInt(t[6]); 
     148                            yy = parseInt(t[3],10); 
     149                            mm = parseInt(t[1],10) -1; 
     150                            dd = parseInt(t[2],10); 
     151                            th = parseInt(t[4],10); 
     152                            tm = parseInt(t[5],10); 
     153                            ts = parseInt(t[6],10); 
    154154                        } 
    155155                        var dt = new Date(yy,mm,dd,th,tn,ts); 
     
    164164                            var t = val.match(/^(\d{2})\/(\d{2})\/(\d{4})$/); 
    165165                            if(t == null){ ok=false; break; } 
    166                             yy = parseInt(t[3]); 
    167                             mm = parseInt(t[2]) -1; 
    168                             dd = parseInt(t[1]); 
     166                            yy = parseInt(t[3],10); 
     167                            mm = parseInt(t[2],10) -1; 
     168                            dd = parseInt(t[1],10); 
    169169                        }else{ 
    170170                            //default is en_* format 
    171171                            var t = val.match(/^(\d{2})\/(\d{2})\/(\d{4})$/); 
    172172                            if(t == null){ ok=false; break; } 
    173                             yy = parseInt(t[3]); 
    174                             mm = parseInt(t[1]) -1; 
    175                             dd = parseInt(t[2]); 
     173                            yy = parseInt(t[3],10); 
     174                            mm = parseInt(t[1],10) -1; 
     175                            dd = parseInt(t[2],10); 
    176176                        } 
    177177                        var dt = new Date(yy,mm,dd,0,0,0); 
  • branches/1.0beta3.x/lib/jelix-www/xul/jxulform.xml

    r485 r615  
    353353                         break; 
    354354                    case 'url': 
    355                         result = /^(http|https|ftp):\/\/([\w\-]+\.)+(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))(\/[\w\-\.]+)+$/.test(valuews); 
    356                         break; 
    357355                    case 'uri': 
    358                         result = /^(\w{3,}):\/\/([\w\-]+\.)+(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))(\/[\w\-\.]+)+$/.test(valuews); 
     356                        result = /^[a-z]+:\/\/((((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))|((([A-Za-z0-9\-])+\.)+[A-Za-z\-]+))((\/)|$)/.test(valuews); 
    359357                        break; 
    360358                    case 'mail': 
    361                         result=/^[\w_\.\-]+\@([\w\-]+\.)+(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/.test(valuews); 
     359                        result=/^((\"[^\"f\n\r\t\b]+\")|([\w\!\#\$\%\&\'\*\+\-\~\/\^\`\|\{\}]+(\.[\w\!\#\$\%\&\'\*\+\-\~\/\^\`\|\{\}]+)*))@((\[(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))\])|(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))|((([A-Za-z0-9\-])+\.)+[A-Za-z\-]+))$/.test(valuews); 
    362360                        break; 
    363361                    case 'boolean': 
  • branches/1.0beta3.x/lib/jelix-www/xul/jxulform.xml

    r485 r615  
    353353                         break; 
    354354                    case 'url': 
    355                         result = /^(http|https|ftp):\/\/([\w\-]+\.)+(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))(\/[\w\-\.]+)+$/.test(valuews); 
    356                         break; 
    357355                    case 'uri': 
    358                         result = /^(\w{3,}):\/\/([\w\-]+\.)+(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))(\/[\w\-\.]+)+$/.test(valuews); 
     356                        result = /^[a-z]+:\/\/((((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))|((([A-Za-z0-9\-])+\.)+[A-Za-z\-]+))((\/)|$)/.test(valuews); 
    359357                        break; 
    360358                    case 'mail': 
    361                         result=/^[\w_\.\-]+\@([\w\-]+\.)+(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/.test(valuews); 
     359                        result=/^((\"[^\"f\n\r\t\b]+\")|([\w\!\#\$\%\&\'\*\+\-\~\/\^\`\|\{\}]+(\.[\w\!\#\$\%\&\'\*\+\-\~\/\^\`\|\{\}]+)*))@((\[(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))\])|(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))|((([A-Za-z0-9\-])+\.)+[A-Za-z\-]+))$/.test(valuews); 
    362360                        break; 
    363361                    case 'boolean': 
  • trunk/lib/jelix-www/js/jforms.js

    r612 r615  
    9494                        var t = val.match(/^(\d{4})\-(\d{2})\-(\d{2}) (\d{2}):(\d{2}):(\d{2})$/); 
    9595                        if(t == null){ ok=false; break; } 
    96                         var yy = parseInt(t[1]); 
    97                         var mm = parseInt(t[2]) -1; 
    98                         var dd = parseInt(t[3]); 
    99                         var th = parseInt(t[4]); 
    100                         var tm = parseInt(t[5]); 
    101                         var ts = parseInt(t[6]); 
     96                        var yy = parseInt(t[1],10); 
     97                        var mm = parseInt(t[2],10) -1; 
     98                        var dd = parseInt(t[3],10); 
     99                        var th = parseInt(t[4],10); 
     100                        var tm = parseInt(t[5],10); 
     101                        var ts = parseInt(t[6],10); 
    102102                        var dt = new Date(yy,mm,dd,th,tn,ts); 
    103103                        if(yy != dt.getFullYear() || mm != dt.getMonth() || dd != dt.getDate() || th != dt.getHours() || tm != dt.getMinutes() || ts != dt.getSeconds()) 
     
    109109                        var t = val.match(/^(\d{4})\-(\d{2})\-(\d{2})$/); 
    110110                        if(t == null){ ok=false; break; } 
    111                         var yy = parseInt(t[1]); 
    112                         var mm = parseInt(t[2]) -1; 
    113                         var dd = parseInt(t[3]); 
     111                        var yy = parseInt(t[1],10); 
     112                        var mm = parseInt(t[2],10) -1; 
     113                        var dd = parseInt(t[3],10); 
    114114                        var dt = new Date(yy,mm,dd,0,0,0); 
    115115                        if(yy != dt.getFullYear() || mm != dt.getMonth() || dd != dt.getDate()) 
     
    122122                        var t = val.match(/^(\d{2}):(\d{2}):(\d{2})$/); 
    123123                        if(t == null){ ok=false; break; } 
    124                         var th = parseInt(t[4]); 
    125                         var tm = parseInt(t[5]); 
    126                         var ts = parseInt(t[6]); 
     124                        var th = parseInt(t[4],10); 
     125                        var tm = parseInt(t[5],10); 
     126                        var ts = parseInt(t[6],10); 
    127127                        var dt = new Date(2007,05,02,th,tn,ts); 
    128128                        if(th != dt.getHours() || tm != dt.getMinutes() || ts != dt.getSeconds()) 
     
    136136                            var t = val.match(/^(\d{2})\/(\d{2})\/(\d{4}) (\d{2}):(\d{2}):(\d{2})$/); 
    137137                            if(t == null){ ok=false; break; } 
    138                             yy = parseInt(t[3]); 
    139                             mm = parseInt(t[2]) -1; 
    140                             dd = parseInt(t[1]); 
    141                             th = parseInt(t[4]); 
    142                             tm = parseInt(t[5]); 
    143                             ts = parseInt(t[6]); 
     138                            yy = parseInt(t[3],10); 
     139                            mm = parseInt(t[2],10) -1; 
     140                            dd = parseInt(t[1],10); 
     141                            th = parseInt(t[4],10); 
     142                            tm = parseInt(t[5],10); 
     143                            ts = parseInt(t[6],10); 
    144144                        }else{ 
    145145                            //default is en_* format 
    146146                            var t = val.match(/^(\d{2})\/(\d{2})\/(\d{4}) (\d{2}):(\d{2}):(\d{2})$/); 
    147147                            if(t == null){ ok=false; break; } 
    148                             yy = parseInt(t[3]); 
    149                             mm = parseInt(t[1]) -1; 
    150                             dd = parseInt(t[2]); 
    151                             th = parseInt(t[4]); 
    152                             tm = parseInt(t[5]); 
    153                             ts = parseInt(t[6]); 
     148                            yy = parseInt(t[3],10); 
     149                            mm = parseInt(t[1],10) -1; 
     150                            dd = parseInt(t[2],10); 
     151                            th = parseInt(t[4],10); 
     152                            tm = parseInt(t[5],10); 
     153                            ts = parseInt(t[6],10); 
    154154                        } 
    155155                        var dt = new Date(yy,mm,dd,th,tn,ts); 
     
    164164                            var t = val.match(/^(\d{2})\/(\d{2})\/(\d{4})$/); 
    165165                            if(t == null){ ok=false; break; } 
    166                             yy = parseInt(t[3]); 
    167                             mm = parseInt(t[2]) -1; 
    168                             dd = parseInt(t[1]); 
     166                            yy = parseInt(t[3],10); 
     167                            mm = parseInt(t[2],10) -1; 
     168                            dd = parseInt(t[1],10); 
    169169                        }else{ 
    170170                            //default is en_* format 
    171171                            var t = val.match(/^(\d{2})\/(\d{2})\/(\d{4})$/); 
    172172                            if(t == null){ ok=false; break; } 
    173                             yy = parseInt(t[3]); 
    174                             mm = parseInt(t[1]) -1; 
    175                             dd = parseInt(t[2]); 
     173                            yy = parseInt(t[3],10); 
     174                            mm = parseInt(t[1],10) -1; 
     175                            dd = parseInt(t[2],10); 
    176176                        } 
    177177                        var dt = new Date(yy,mm,dd,0,0,0); 
  • trunk/lib/jelix-www/js/jforms.js

    r612 r615  
    9494                        var t = val.match(/^(\d{4})\-(\d{2})\-(\d{2}) (\d{2}):(\d{2}):(\d{2})$/); 
    9595                        if(t == null){ ok=false; break; } 
    96                         var yy = parseInt(t[1]); 
    97                         var mm = parseInt(t[2]) -1; 
    98                         var dd = parseInt(t[3]); 
    99                         var th = parseInt(t[4]); 
    100                         var tm = parseInt(t[5]); 
    101                         var ts = parseInt(t[6]); 
     96                        var yy = parseInt(t[1],10); 
     97                        var mm = parseInt(t[2],10) -1; 
     98                        var dd = parseInt(t[3],10); 
     99                        var th = parseInt(t[4],10); 
     100                        var tm = parseInt(t[5],10); 
     101                        var ts = parseInt(t[6],10); 
    102102                        var dt = new Date(yy,mm,dd,th,tn,ts); 
    103103                        if(yy != dt.getFullYear() || mm != dt.getMonth() || dd != dt.getDate() || th != dt.getHours() || tm != dt.getMinutes() || ts != dt.getSeconds()) 
     
    109109                        var t = val.match(/^(\d{4})\-(\d{2})\-(\d{2})$/); 
    110110                        if(t == null){ ok=false; break; } 
    111                         var yy = parseInt(t[1]); 
    112                         var mm = parseInt(t[2]) -1; 
    113                         var dd = parseInt(t[3]); 
     111                        var yy = parseInt(t[1],10); 
     112                        var mm = parseInt(t[2],10) -1; 
     113                        var dd = parseInt(t[3],10); 
    114114                        var dt = new Date(yy,mm,dd,0,0,0); 
    115115                        if(yy != dt.getFullYear() || mm != dt.getMonth() || dd != dt.getDate()) 
     
    122122                        var t = val.match(/^(\d{2}):(\d{2}):(\d{2})$/); 
    123123                        if(t == null){ ok=false; break; } 
    124                         var th = parseInt(t[4]); 
    125                         var tm = parseInt(t[5]); 
    126                         var ts = parseInt(t[6]); 
     124                        var th = parseInt(t[4],10); 
     125                        var tm = parseInt(t[5],10); 
     126                        var ts = parseInt(t[6],10); 
    127127                        var dt = new Date(2007,05,02,th,tn,ts); 
    128128                        if(th != dt.getHours() || tm != dt.getMinutes() || ts != dt.getSeconds()) 
     
    136136                            var t = val.match(/^(\d{2})\/(\d{2})\/(\d{4}) (\d{2}):(\d{2}):(\d{2})$/); 
    137137                            if(t == null){ ok=false; break; } 
    138                             yy = parseInt(t[3]); 
    139                             mm = parseInt(t[2]) -1; 
    140                             dd = parseInt(t[1]); 
    141                             th = parseInt(t[4]); 
    142                             tm = parseInt(t[5]); 
    143                             ts = parseInt(t[6]); 
     138                            yy = parseInt(t[3],10); 
     139                            mm = parseInt(t[2],10) -1; 
     140                            dd = parseInt(t[1],10); 
     141                            th = parseInt(t[4],10); 
     142                            tm = parseInt(t[5],10); 
     143                            ts = parseInt(t[6],10); 
    144144                        }else{ 
    145145                            //default is en_* format 
    146146                            var t = val.match(/^(\d{2})\/(\d{2})\/(\d{4}) (\d{2}):(\d{2}):(\d{2})$/); 
    147147                            if(t == null){ ok=false; break; } 
    148                             yy = parseInt(t[3]); 
    149                             mm = parseInt(t[1]) -1; 
    150                             dd = parseInt(t[2]); 
    151                             th = parseInt(t[4]); 
    152                             tm = parseInt(t[5]); 
    153                             ts = parseInt(t[6]); 
     148                            yy = parseInt(t[3],10); 
     149                            mm = parseInt(t[1],10) -1; 
     150                            dd = parseInt(t[2],10); 
     151                            th = parseInt(t[4],10); 
     152                            tm = parseInt(t[5],10); 
     153                            ts = parseInt(t[6],10); 
    154154                        } 
    155155                        var dt = new Date(yy,mm,dd,th,tn,ts); 
     
    164164                            var t = val.match(/^(\d{2})\/(\d{2})\/(\d{4})$/); 
    165165                            if(t == null){ ok=false; break; } 
    166                             yy = parseInt(t[3]); 
    167                             mm = parseInt(t[2]) -1; 
    168                             dd = parseInt(t[1]); 
     166                            yy = parseInt(t[3],10); 
     167                            mm = parseInt(t[2],10) -1; 
     168                            dd = parseInt(t[1],10); 
    169169                        }else{ 
    170170                            //default is en_* format 
    171171                            var t = val.match(/^(\d{2})\/(\d{2})\/(\d{4})$/); 
    172172                            if(t == null){ ok=false; break; } 
    173                             yy = parseInt(t[3]); 
    174                             mm = parseInt(t[1]) -1; 
    175                             dd = parseInt(t[2]); 
     173                            yy = parseInt(t[3],10); 
     174                            mm = parseInt(t[1],10) -1; 
     175                            dd = parseInt(t[2],10); 
    176176                        } 
    177177                        var dt = new Date(yy,mm,dd,0,0,0); 
  • trunk/lib/jelix-www/xul/jxulform.xml

    r485 r615  
    353353                         break; 
    354354                    case 'url': 
    355                         result = /^(http|https|ftp):\/\/([\w\-]+\.)+(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))(\/[\w\-\.]+)+$/.test(valuews); 
    356                         break; 
    357355                    case 'uri': 
    358                         result = /^(\w{3,}):\/\/([\w\-]+\.)+(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))(\/[\w\-\.]+)+$/.test(valuews); 
     356                        result = /^[a-z]+:\/\/((((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))|((([A-Za-z0-9\-])+\.)+[A-Za-z\-]+))((\/)|$)/.test(valuews); 
    359357                        break; 
    360358                    case 'mail': 
    361                         result=/^[\w_\.\-]+\@([\w\-]+\.)+(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/.test(valuews); 
     359                        result=/^((\"[^\"f\n\r\t\b]+\")|([\w\!\#\$\%\&\'\*\+\-\~\/\^\`\|\{\}]+(\.[\w\!\#\$\%\&\'\*\+\-\~\/\^\`\|\{\}]+)*))@((\[(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))\])|(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))|((([A-Za-z0-9\-])+\.)+[A-Za-z\-]+))$/.test(valuews); 
    362360                        break; 
    363361                    case 'boolean': 
  • trunk/lib/jelix-www/xul/jxulform.xml

    r485 r615  
    353353                         break; 
    354354                    case 'url': 
    355                         result = /^(http|https|ftp):\/\/([\w\-]+\.)+(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))(\/[\w\-\.]+)+$/.test(valuews); 
    356                         break; 
    357355                    case 'uri': 
    358                         result = /^(\w{3,}):\/\/([\w\-]+\.)+(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))(\/[\w\-\.]+)+$/.test(valuews); 
     356                        result = /^[a-z]+:\/\/((((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))|((([A-Za-z0-9\-])+\.)+[A-Za-z\-]+))((\/)|$)/.test(valuews); 
    359357                        break; 
    360358                    case 'mail': 
    361                         result=/^[\w_\.\-]+\@([\w\-]+\.)+(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/.test(valuews); 
     359                        result=/^((\"[^\"f\n\r\t\b]+\")|([\w\!\#\$\%\&\'\*\+\-\~\/\^\`\|\{\}]+(\.[\w\!\#\$\%\&\'\*\+\-\~\/\^\`\|\{\}]+)*))@((\[(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))\])|(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))|((([A-Za-z0-9\-])+\.)+[A-Za-z\-]+))$/.test(valuews); 
    362360                        break; 
    363361                    case 'boolean': 
Download in other formats: Unified Diff Zip Archive