2013-11-28 136 views
1

我想驗證只允許空格字符後跟任何字母字符的文本框。只有插入空格字符時,我的代碼會失敗。我的代碼中有什麼錯誤。建議請..驗證,只允許空格字符後跟字母

的javascript:

function validate() { 
    var firstname = document.getElementById("FirstName"); 
    var alpha = /^[a-zA-Z\s-, ]+$/; 
    if (firstname.value == "") { 
     alert('Please enter Name'); 
     return false; 
    } 
    else if (!firstname.value.match(alpha)) { 
     alert('Invalid ');  
     return false; 
    } 
    else 
    { 
    return true; 
    } 
} 

觀點:

@Html.TextBoxFor(m => m.FirstName, new { @class = "searchbox" })  
<button type="submit" onclick="return validate();">Submit</button> 

條件我申請:
如:阿倫·喬拉 - 成功的條件
如:_ - 條件失敗(不應該允許空間特性呃單獨)

回答

8

試試以下的正則表達式

var alpha = /^[a-zA-Z-,]+(\s{0,1}[a-zA-Z-, ])*$/ 

第一部分強制字母字符,然後允許的空間。

+0

Thanks.It工作正常的第一部分,但犯規允許在年底 – kk1076

+1

我的壞空間。樣本是人名,所以我認爲你最後不需要空格。我已經更新了我的回答 – edokan

+0

非常感謝您的閣下 – spr

0

可能是使用了「測試」的方法是這樣的:

/^[a-zA-Z-,](\s{0,1}[a-zA-Z-, ])*[^\s]$/.test(firstname) 

只有當它是有效的

0

這裏的a link

我發現Akiross的答案對我來說是最適合返回true。

([A-Z])+ [A-Z]