2013-04-05 68 views
0

我有这样的代码空间:如何捕获输入元素和测试的内容如果是betwween字母AZ AZ字符分解炉中水泥两个字

$(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"); 
     } 
}); 
}); 

我希望我的代码来测试,赶上价值我输入的,如果该值是一个字符AZ之间 包括像两个词之间的空间利用:“姓” 如果其确定thne procced到:

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

别人提醒他必须把用户有效的字符。

回答

2

我想这正则表达式应该工作:

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

} 

,并应落实到位您if((toStore===/[a-zA-Z]/)===true){

DEMO:http://jsfiddle.net/tDVWk/

这将检查输入如下这样:

  • 开始被1个或多个字母字符(任何可以是大写或小写)
  • 包含以前的字符集合
  • 用1个或多个字母字符完之后的空间(任何可以是大写或小写)

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

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

} 

但是,这并不理想,因为名字是非常不同的,很容易被例如“McLovin”...在哪里第二个例子肯定会失败。希望我的第一个例子能够完成你所需要的。

当然,一直存在的争议是你不应该限制这样的事情。如果他们的名字不仅仅是第一个也是最后一个呢?如果他们有一个后缀,比如“III”(或者实际上是“3”),指定他们是这个名字的家庭的第三名?如果人们想要包括他们的中间名(故意或意外)怎么办?对每个名称使用两个文本框可能更有意义,使用户更清楚。这样,你所要做的就是验证每一个都被填充(也许只有字母字符)。然后再次,我不知道你的要求是什么,你已经有这个文本框是:)

+0

是的,谢谢你的回答和解释! – 2013-04-05 18:47:08

0

是这样的?您需要在需要的地方添加代码。

<script> 
function validateInput(obj, e){ 
    var code; 
    if (!e) var e = window.event; 
    if (e.keyCode) code = e.keyCode; 
    else if (e.which) code = e.which; 
    var character = String.fromCharCode(code); 
    var AllowRegex = /^[\ba-zA-Z,\s-\f\n\r\t\v]$/; 
    if (AllowRegex.test(character)){ 
     return true; 
    } 
    else{ 
    alert('!'); 
     return false; 
    } 
    } 
</script> 

<input id="input1" onkeydown=" return validateInput(this,event) "/> 
相关问题