javascript - 如何捕获输入元素的内容并测试它是否是字母 a-z A-Z 之间的字符,并且两个单词之间有空格

标签 javascript jquery if-statement input try-catch

我有这个代码:

$(document).ready(function(){
    $("input").focus(function(){
        $(this).css('outline-color','#559FFF');
        $(this).blur(function(){
            $(this).css("outline-color","#FF0000");
        });
    });
    $("input").click(function(){
     var value = $(this).val(function(){
         $(this).html("");
      });
    });
    $(".awesome").click(function(){
        var toStore = $("input[name=name]").val();
        if((toStore===/[a-zA-Z]/)===true){
        $("#contain").children().fadeOut(1000);
        $("#contain").delay(5000).queue(function(){
            $("#contain").append("<p>welcome : " + toStore + " </p>");
    });
        }else{
            alert("You Must Put a Valid Name");
        }
});
});

我希望我的代码能够测试并捕获我输入的值以及该值是否为字符 a-z 之间,包括大写,两个单词之间有一个空格,例如:“FirstName LastName” 如果没问题,则继续:

$("#contain").children().fadeOut(1000);
        $("#contain").delay(5000).queue(function(){
            $("#contain").append("<p>welcome : " + toStore + " </p>");
    });

否则提醒用户必须输入有效字符。

最佳答案

我认为这个正则表达式应该有效:

if (/^[A-Za-z]+ [A-Za-z]+$/.test(toStore)) {

}

并且应该代替您的 if((toStore===/[a-zA-Z]/)===true){

演示: http://jsfiddle.net/tDVWk/

这会检查输入是否遵循以下内容:

  • 以 1 个或多个字母字符开头(任何字母都可以是大写或小写)
  • 前一组字符后包含空格
  • 以 1 个或多个字母字符结尾(任何字母都可以是大写或小写)

如果你想更严格,要求每个名字都以大写字母开头,其余字母小写,你可以使用:

if (/^[A-Z][a-z]? [A-Z][a-z]?$/.test(toStore)) {

}

但这并不理想,因为名称非常不同,很容易成为“McLovin”之类的东西......第二个示例肯定会失败。希望我的第一个示例能够满足您的需求。

当然,总是存在这样的争论:您不应该对这样的事情进行如此多的限制。如果他们的名字不仅仅是名字和姓氏怎么办?如果他们有一个后缀,比如“III”(或者实际上是“3”),表明他们是这个名字的第三个家庭成员,该怎么办?如果人们想要包含他们的中间名(有意或无意)怎么办?对于每个名称使用两个文本框可能更有意义,使用户更清楚。这样,您所要做的就是验证每个内容是否已填写(并且可能只有字母字符)。再说一次,我不确定您的要求是什么以及您已有的这个文本框的用途:)

关于javascript - 如何捕获输入元素的内容并测试它是否是字母 a-z A-Z 之间的字符,并且两个单词之间有空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15840985/

相关文章:

javascript - 你能更新一个 Controller 来更新它的子范围吗?

jquery img width() 给出 0

javascript - 访问 DOM、html 表 <th> 并将表标题保存到变量中。

python - "if statement"在 python 中

javascript - 我可以使用带有 if 语句的 for 循环来代替 .hasOwnProperty()

javascript - 如何删除phoneGap中的文本字段边框

javascript - ReactJS:使用浏览器按钮导航时保存状态

javascript - Tornado :包含缩小的 javascript 的 UIModule

jquery - HTML 'moving link over' div 跨度,nbsp

javascript - 展开和折叠 div