Jquery 如何确保用户只输入一个名称?
我希望确保用户只输入一个名称(名字或姓氏,但不能同时输入或不输入),同时确保输入的名称长度超过3个字符 我试过这样做,但在让它空着和让它多做两个字符之间有冲突 这是我的代码:Jquery 如何确保用户只输入一个名称?,jquery,input,Jquery,Input,我希望确保用户只输入一个名称(名字或姓氏,但不能同时输入或不输入),同时确保输入的名称长度超过3个字符 我试过这样做,但在让它空着和让它多做两个字符之间有冲突 这是我的代码: if ($("#firstName").val().length > 0 && $("#lastName").val().length > 0) { event.preventDefault(); $("#error").slideDown().text("You may ent
if ($("#firstName").val().length > 0 && $("#lastName").val().length > 0) {
event.preventDefault();
$("#error").slideDown().text("You may enter just first name or last name");
return;
} else if ($("#firstName").val().length <= 2 || $("#lastName").val().length <= 2) {
event.preventDefault();
$("#error").slideDown().text("Your name have to contain at least 3 letters");
return;
}
if($(“#firstName”).val().length>0&$(“#lastName”).val().length>0){
event.preventDefault();
$(“#错误”).slideDown().text(“您可以只输入名字或姓氏”);
返回;
}else if($(“#firstName”).val().length检查名称中是否存在空格。如果存在空格,则用户已输入全名
试试这个:
var name = $.trim($('#firstName').val());
if (name.length < 3 && name.indexOf(' ') > -1) {
alert("Invalid Name; Enter first name or last name only");
}
var name=$.trim($('#firstName').val());
if(name.length<3&&name.indexOf(“”)>-1){
警报(“名称无效;仅输入名字或姓氏”);
}
请看这个
我希望这正是你想要的
$("form").submit(function (event) {
// TODO 1: Make sure age has only digits
// TODO 2: Make sure names do not have digits
// TODO 3: Make the email is valid (has @ and . inside of them - do not use RegEx, use indexOf)
// TODO 4: Make sure each name is longer than 2 chars if the input is not empty
if (!$("#firstName").val() && !$("#lastName").val()) {
event.preventDefault();
$("#error").slideDown().text("You may enter first name or last name");
return;
}else if ($.isNumeric($('#firstName').val()) || $.isNumeric($('#lastName').val())) {
event.preventDefault();
$("#error").slideDown().text("Your name can contain letters only");
return;
}else if (!($("#firstName").val().length > 2 || $("#lastName").val().length > 2)) {
event.preventDefault();
$("#error").slideDown().text("Your name have to contain at least 3 letters");
return;
}
if ($("#email").val().indexOf("@") < 0 || $("#email").val().lastIndexOf(".") < 0) {
event.preventDefault();
$("#error").slideDown();
$("#error").text("Your Email is not valid.");
return;
}
if ($("#age").val() == "" || $("#age").val() < 18) {
event.preventDefault();
$("#error").slideDown().text("You must be over 18 to register");
return;
}
if (!$.isNumeric($('#age').val())) {
event.preventDefault();
$("#error").slideDown().text("Your age can contain numbers only");
return;
}
if (!$("#terms").is(":checked")) {
event.preventDefault();
$("#error").slideDown().text("Please accept terms");
return;
}
$("#error").slideDown().text("we can now submit the form");
// TODO 5: Make sure the user inputed excacly one name (first name, or last name, but not both or non)
});
$(“表单”).submit(函数(事件){
//TODO 1:确保年龄只有数字
//TODO 2:确保名称没有数字
//TODO 3:确保电子邮件有效(其中包含@和。请勿使用正则表达式,请使用indexOf)
//TODO 4:如果输入不是空的,请确保每个名称都超过2个字符
if(!$(“#lastName”).val()&&(!$(“#lastName”).val()){
event.preventDefault();
$(“#错误”).slideDown().text(“您可以输入名字或姓氏”);
返回;
}else if($.isNumeric($('#firstName').val())| |$.isNumeric($('#lastName').val()){
event.preventDefault();
$(“#错误”).slideDown().text(“您的姓名只能包含字母”);
返回;
}否则如果(!($(“#姓氏”).val().length>2 |$(“#姓氏”).val().length>2)){
event.preventDefault();
$(“#错误”).slideDown().text(“您的姓名必须至少包含3个字母”);
返回;
}
if($(“#email”).val().indexOf(“@”)<0(“#email”).val().lastIndexOf(“.”)<0){
event.preventDefault();
$(“#错误”).slideDown();
$(“#错误”).text(“您的电子邮件无效。”);
返回;
}
if($(“#age”).val()==”| |$(“#age”).val()<18){
event.preventDefault();
$(“#错误”).slideDown().text(“您必须年满18岁才能注册”);
返回;
}
if(!$.isNumeric($('#age').val()){
event.preventDefault();
$(“#错误”).slideDown().text(“您的年龄只能包含数字”);
返回;
}
如果(!$(“#条款”)是(“:选中”)){
event.preventDefault();
$(“#错误”).slideDown().text(“请接受条款”);
返回;
}
$(“#错误”).slideDown().text(“我们现在可以提交表单”);
//TODO 5:确保用户只输入一个名字(名字或姓氏,但不能同时输入或不输入)
});
您好,您应该稍微改变一下您的状况。这有点长,但可以达到目的
if ($("#firstName").val().length > 0 && $("#lastName").val().length > 0) {
event.preventDefault();
$("#error").slideDown().text("You may enter just first name or last name");
return;
}
if($("#firstName").val().length > 0){
if ($("#firstName").val().length <= 2){
event.preventDefault();
$("#error").slideDown().text("Your first name have to contain at least 3 letters");
return;
}
}
if($("#lastName").val().length > 0){
if ($("#lastName").val().length <= 2){
event.preventDefault();
$("#error").slideDown().text("Your last name have to contain at least 3 letters");
return;
}
}
if($(“#firstName”).val().length>0&$(“#lastName”).val().length>0){
event.preventDefault();
$(“#错误”).slideDown().text(“您可以只输入名字或姓氏”);
返回;
}
if($(“#firstName”).val().length>0){
if($(“#firstName”).val().length 0){
if($(“#lastName”).val().length一个名字只能有两个字符,姓氏也是如此。Karthiks版本实际上应该工作得更好,因为它能更好地区分大小写。如果您能告诉我为什么如果我为exmaple输入数字,我的“first name”会出错(因为我输入了“isNumeric”),但如果我把字母和数字放在一起(对于exmaple“asdahsd123123”),它会通过。当字符串是字母数字时,thanksCause isNummeric会失败。它只测试字符串是否可以解释为实际数字。如果您熟悉正则表达式,则最容易测试数字,如果不熟悉,则需要为此编写一个小型解析器函数
$("form").submit(function (event) {
// TODO 1: Make sure age has only digits
// TODO 2: Make sure names do not have digits
// TODO 3: Make the email is valid (has @ and . inside of them - do not use RegEx, use indexOf)
// TODO 4: Make sure each name is longer than 2 chars if the input is not empty
if (!$("#firstName").val() && !$("#lastName").val()) {
event.preventDefault();
$("#error").slideDown().text("You may enter first name or last name");
return;
}else if ($.isNumeric($('#firstName').val()) || $.isNumeric($('#lastName').val())) {
event.preventDefault();
$("#error").slideDown().text("Your name can contain letters only");
return;
}else if (!($("#firstName").val().length > 2 || $("#lastName").val().length > 2)) {
event.preventDefault();
$("#error").slideDown().text("Your name have to contain at least 3 letters");
return;
}
if ($("#email").val().indexOf("@") < 0 || $("#email").val().lastIndexOf(".") < 0) {
event.preventDefault();
$("#error").slideDown();
$("#error").text("Your Email is not valid.");
return;
}
if ($("#age").val() == "" || $("#age").val() < 18) {
event.preventDefault();
$("#error").slideDown().text("You must be over 18 to register");
return;
}
if (!$.isNumeric($('#age').val())) {
event.preventDefault();
$("#error").slideDown().text("Your age can contain numbers only");
return;
}
if (!$("#terms").is(":checked")) {
event.preventDefault();
$("#error").slideDown().text("Please accept terms");
return;
}
$("#error").slideDown().text("we can now submit the form");
// TODO 5: Make sure the user inputed excacly one name (first name, or last name, but not both or non)
});
if ($("#firstName").val().length > 0 && $("#lastName").val().length > 0) {
event.preventDefault();
$("#error").slideDown().text("You may enter just first name or last name");
return;
}
if($("#firstName").val().length > 0){
if ($("#firstName").val().length <= 2){
event.preventDefault();
$("#error").slideDown().text("Your first name have to contain at least 3 letters");
return;
}
}
if($("#lastName").val().length > 0){
if ($("#lastName").val().length <= 2){
event.preventDefault();
$("#error").slideDown().text("Your last name have to contain at least 3 letters");
return;
}
}