Javascript generated by JS Class using the form description file below (subscription.ini) then copied and pasted into this page at the desired location.
On the right (blue foreground, grey background), the data types for JS Class corresponding to the HTML input types
Do the keyboarding while trying to make mistakes (oversights, prohibited characters, too much or too few characters, etc ...)
Ctrl+U to See the source (html + javascript)
# # file: subscription.ini # [form] name=subscription [general] ; Country date (TLD, Top Level Domain) ctrydate=fr ; hour: 4 = 4 digits (HH:MN) ; 6 = 6 digits (HH:MN:SS) hour=4 [fields] ; fieldname,labelname,fieldtype,obligatory(1) or not(0),lgmin,lgmax lname,Last name,text,1,2,25 fname,First name,text,1,2,30 sex,Sex,radio,1 bday,Birthday,date,1 email,eMail Address,mail,0,6,50 phone,Phone number,text,0,10,20 studies,Level of studies,radio,1 athl;volley;foot;swim;none,Sports,checkbox,1 cont,Contribution,num,1,1,6,1,500 idrol,Role,list,1 begdate,Beginning date,date,1 prefh,Prefered hour,hour,0 obs,Observations,text,1,1,2000 ok,Validation,valid,1 [chars] ; not for checked or selected controls (radio, checkbox, select) ; only for fields filled with characters except dates and hours) lname=letters + " '-" fname=letters + " '-" email=ascii + digits + "@-_+." phone=digits + ".- +" cont=digits + ",." obs=letters + digits + "&\"' ()[]{}-_\\@+-*/?!,.;/:§\n\$£µ%=²"