验证以仅在后跟字母时允许空格字符

Posted

技术标签:

【中文标题】验证以仅在后跟字母时允许空格字符【英文标题】:Validation to allow space character only when followed by an alphabet 【发布时间】:2013-12-14 08:12:48 【问题描述】:

我正在尝试验证只有在后跟任何字母字符时才允许空格字符的文本框。仅插入空格字符时,我的代码失败。我的代码中有什么错误。建议请..

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>

我申请的条件: 例如:Arun Chawla - 条件成功 例如:_ - 条件失败(不应单独允许空格字符)

【问题讨论】:

【参考方案1】:

尝试遵循正则表达式

 var alpha = /^[a-zA-Z-,]+(\s0,1[a-zA-Z-, ])*$/

第一部分强制使用字母字符,然后允许空格。

【讨论】:

谢谢。它适用于第一部分,但最后不允许空间 我的错。样本是人名,所以我假设你最后不想要空格。我已经更新了答案 非常感谢阁下 Bt 现在它也采用数值了。【参考方案2】:

可能正在使用这样的“测试”方法:

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

只有在有效时才返回真

【讨论】:

【参考方案3】:

这里是a link

我发现 Akiross 的答案最适合我。

([a-z] ?)+[a-z]

【讨论】:

【参考方案4】:

这将允许每个字符、数字和特殊字符(@)之间有空格。

要遵循的模式

['', [Validators.email,
        Validators.pattern('^[[\\\sa-z 0-9._%+-]+@[\\\sa-z0-9.-]+\\.[\\\sa-z]2,4]*$')]],

输出

e 2 @ 2 g . c o

【讨论】:

【参考方案5】:
if(!/^[A-Za-z\s]+$/.test(name)) 
    errors['name'] = "Enter a valid name"

【讨论】:

请考虑对您的代码进行解释。

以上是关于验证以仅在后跟字母时允许空格字符的主要内容,如果未能解决你的问题,请参考以下文章

验证文本框只允许数字,没有特殊字符或字母[重复]

验证全名的 Java 正则表达式只允许空格和字母

验证字符串以仅包含限定字符和中间的特定可选子字符串

如何验证快速API以仅允许登录用户

不支持的身份验证令牌,方案='none' 仅在禁用身份验证时允许: scheme='none' - Neo4j 身份验证错误

允许字母、数字、小数、空格和下划线的正则表达式模式