Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用于验证重音、空格和字母的正则表达式_Javascript_Regex - Fatal编程技术网

Javascript 用于验证重音、空格和字母的正则表达式

Javascript 用于验证重音、空格和字母的正则表达式,javascript,regex,Javascript,Regex,我正在寻找一个验证重音的正则表达式,它也不允许字符与重音不同,并且允许空格,但不允许字母以外的字符。我目前使用这个,但我得到一个错误的空间。我怎样才能修好它 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]; } con

我正在寻找一个验证重音的正则表达式,它也不允许字符与重音不同,并且允许空格,但不允许字母以外的字符。我目前使用这个,但我得到一个错误的空间。我怎样才能修好它

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

允许重音、空格和字母。
谢谢

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

这将在开始时选择所有不同的字母,相同的+
空格用于以下内容

注意模式中的
空格
,如果要匹配所有
空格
,可以使用
\s

编辑


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

给出一个示例输入和预期输出。ReGEX只允许中间的空格,这是故意的吗?@ PurbAk我更新了这个问题,基本上我应该允许空格、重音和字母。在中间,但不是在开始,这是正确的吗?谢谢!几乎完美!但是你弄错了空格不是绝对必要的,但在任何位置都可以。谢谢你的帮助,但效果不太好。。例如,“juan perez”应该是真的……允许重音、空格和字母,但这并不一定意味着所有都是必需的。“juan perez”确实匹配!你确定你复制的正则表达式是正确的吗?特别是必须使用方括号,而不是普通的方括号。您还必须包含空格。
/^[ a-zA-ZÀ-ÿ\u00f1\u00d1]*$/g