gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 18:50:54 25 4
gpt4 key购买 nike

我有这个代码:

$(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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com