用于验证重音符号,空格和仅字母的正则表达式

时间:2018-09-24 21:59:04

标签: javascript

我正在寻找可验证重音符号的正则表达式,并且该表达式也不允许与重音符号不同的字符,并且不允许使用空格,但不允许字母以外的其他字符。我目前正在使用,但是空格出现错误。我该如何解决?

function cambiarNombre(nombre){
 let regex = /^[a-zA-ZÀ-ÿ\u00f1\u00d1]+(\s*[a-zA-ZÀ-ÿ\u00f1\u00d1]*)*[a-zA-   
 ZÀ-ÿ\u00f1\u00d1]+$/g;
 return regex.exec(nombre)[0];
}
console.log(cambiarNombre("UNA palabra ñoÑerías ")); //true
console.log(cambiarNombre("UNA palabra ñoÑerías*")); //false *
console.log(cambiarNombre("UN2A palabra1 5oÑerías")); //false 2 1 5
console.log(cambiarNombre("palabra2")); //false 2
console.log(cambiarNombre(" palabra2")); //false 2
console.log(cambiarNombre(" pálabña ")); //true
console.log(cambiarNombre("juan perez")); //true
console.log(cambiarNombre("juan pérez")); //true
console.log(cambiarNombre("juan")); //true
console.log(cambiarNombre("júan")); //true

允许重音符号,空格和字母。 谢谢

1 个答案:

答案 0 :(得分:1)

要在所有位置匹配字母,重音符号和空格(除了开头的空格),可以使用以下正则表达式(实际上比您拥有的正则表达式更简单):

/^[ a-zA-ZÀ-ÿ\u00f1\u00d1]*$/g

这将在开始时选择所有不同的字母,并为以下字母加上相同的Space

请注意模式中的space,如果要匹配所有White Space,则可以改用\s

修改

现在在任何位置都可以使用空格,但不需要。唯一的要求是所有字符必须是方括号中重复零次或多次的字符之一。