正则表达式避免数字和特殊字符,并允许单词之间的空格

时间:2016-06-24 06:46:16

标签: javascript regex

我需要验证全名文本框,该文本框应避免使用数字和特殊字符,但允许在单词之间留出空格。请在此处查看我的JavaScript代码:

function jsPreventNumeric(obj) {
    obj.value = obj.value.replace(/[^a-z]/gmi, '').replace(/\s+/g, '');
}

它工作得很好,除了它不允许单词之间的空格。我没有太多知识来编辑正则表达式。任何人都可以帮我调整这个正则表达式以允许空间吗?

3 个答案:

答案 0 :(得分:1)

\s是空格的转义序列。因此,您的第二个替换将显式删除所有whitepspace。 /[^a-z]/表示来自a-z的字符的所有字符。添加\s以便它只删除不是a-z或空格的字符

function jsPreventNumeric(obj){
   obj.value.replace(/[^a-z\s]/gmi,"");
}

答案 1 :(得分:0)

我看不到照片。试试这个:^ [\\ p {L}。' - ] + $

答案 2 :(得分:0)

问题解决了:

obj.value = obj.value.replace(/[^a-z\s]/gmi, "");