2016-11-16 41 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!"); 
} 

验证男性和女性如果我想确保用户只能在保存框中键入男性或女性。如果他们输入男性,它会提示错误,我是否有任何方法可以编码,以便它只能接受“男性”或“女性”?验证性别

+0

你想要的逻辑是if!test1 &&!test2。也就是说,将人限制在一个性别二元组中是一个糟糕的主意,它采取了一种使某些人的身份无效的政治立场。除非你明白为什么这是侮辱性的,并且打算侮辱那些不限制男性/女性性别投入的人。 – acrosman

+1

如果您有一组小的特定有效值,为什么不使用下拉菜单或单选按钮组? –

回答

0

正如其他人所建议的,如果您有一个预先定义的选项列表,您应该使用单选按钮或下拉列表。

但是,为了回答你的问题,如果你希望用户只需键入男性或女性(区分大小写),您应在其对应的正则表达式这样的改变:

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

您需要更改逻辑你如果else子句:

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

另外,你必须改变你的正则表达式: “/^[男] $ /”只匹配单个字符是在括号内。 (“M”,“l”,...)。使用“/ ^男性$ /”代替。女性也一样。

提示:我会使用Listbox控件。这看起来有点像这样:

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