2016-11-16 2 views
0
var Surname1 = $('#sn1').val(); 
var Name1 = $('#n2').val(); 
var Gender1 = $('#g3').val(); 
var Address1 = $('#a4').val(); 
var Email1 = $('#em5').val(); 
var Phone1 = $('#hp6').val(); 
var emailcheck = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/; 
var phonecheck = /^\d{8}$/; 
var gendermcheck = /^[Male]$/; 
var genderfcheck = /^[Female]$/; 

    if (Surname1 == "" || Name1 == "" || Gender1 == "" || Address1 == "" || Email1 == "" || Phone1 == "") 
    { 
alert("Updating failed! Please try again!!!"); 
    return false; 
    } 
else if (!emailcheck.test(Email1)) 
     { 
      alert("Unable to Update! Please Check your Email Address"); 
      return emailcheck.test(Email1); 
     } 
else if (!phonecheck.test(Phone1)) 
     { 
      alert("Unable to Update! Please Check your contact number"); 
      return phonecheck.test(Phone1); 
     } 
else if (!genderfcheck.test(Gender1) || gendermcheck.test(Gender1)) 
     { 
      alert("Type Male/Female"); 
      return genderfcheck.test(Gender1); 
      return gendermcheck.test(Gender1); 
     } 
else 
{ 
    alert("Update was Successful! Thank you for updating our system!"); 
} 

Validieren Sie männlich und weiblich Wenn ich sicherstellen möchte, dass Benutzer nur männlich oder weiblich in die Box eingeben können, um zu speichern. Wenn sie männlich tippen, wird es einen Fehler geben, gibt es irgendwelche Möglichkeiten für mich, es zu kodieren, so dass es nur "Männlich" oder "Weiblich" akzeptieren kann?Bestätigung für Geschlecht

+0

Die Logik, die Sie wollen, ist wenn! Test1 &&! Test2. Allerdings ist es eine schlechte Idee, Menschen auf ein Geschlechter-Binary einzuschränken, das eine politische Position einnimmt, die die Identität einiger Menschen ungültig macht. Es sei denn, Sie verstehen, warum das beleidigend ist und beabsichtigen, beleidigend zu sein für diese Menschen, schränken den Geschlechtsverkehr nicht auf Männer und Frauen ein. – acrosman

+1

Wenn Sie einen kleinen, spezifischen Satz gültiger Werte haben, warum nicht ein Dropdown- oder Optionsfeld verwenden? –

Antwort

0

Wie andere vorgeschlagen haben, sollten Sie, wenn Sie eine vordefinierte Liste mit Optionen haben, Optionsfelder oder eine Dropdown-Liste verwenden.

Aber um Ihre Frage zu beantworten, wenn der Benutzer wollen nur geben Sie entweder männlich oder weiblich (Groß- und Kleinschreibung), sollten Sie die entsprechenden regulären Ausdrücke wie folgt ändern:

var gendermcheck = /^Male$/; 
var genderfcheck = /^Female$/; 
0

Sie müssen die Logik ändern wenn Klausel Ihrer anderes:

else if (!genderfcheck.test(Gender1) && !gendermcheck.test(Gender1)) 
    { 
     alert("Type Male/Female"); 
     return genderfcheck.test(Gender1); 
     return gendermcheck.test(Gender1); 
    } 

Zusätzlich müssen Sie Ihre Regex ändern: „/^[männlich] $ /“ passt nur ein einzelnes Zeichen, die in den Klammern ist. ("M", "l", ...). Verwenden Sie stattdessen "/^Male $ /". Gleiches für Frau.

Tipp: Ich würde ein Listbox-Steuerelement verwenden. Das würde so aussehen:

<form action="select.html"> <label>Gender: <select name="gender" > <option>Male</option> <option>Female</option> <option>Other...</option> </select> </label> </form>