2013-11-28 142 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]