2013-04-05 50 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) "/> 
相關問題