/ indica el inicio y fin de la expresión regular
^ inicio del string
$ fin del string
[xyz] denota un conjunto de caracteres
a-z caracteres entre la a minuscula y la z minuscula charcode 97 al
122
A-Z caracteres entre la A mayúscula y la Z mayúsucla charcode 65 al 90
À-Ö charcode 192 al 214
Ø-ö charcode 216 al 246
ø-ÿ charcode 248 al 255
+ una o mas caracteres
\ Buscará coincidencias
^ Coincide con el principio de la entrada
$ Busca el final de la entrada
+ Busca el carácter precedente 1 o más veces
[xyz] Grupo de caracteres
正则表达式:
/^[a-zA-ZÀ-ÖØ-öø-ÿ]+$/
由以下部分组成:也就是说,正则表达式匹配任何包含方括号 [] 之间的字符并且长度为 1 或更大的字符串。
正则表达式使用 ascii 字符https://www.ascii-code.com/作为基础
我还建议您使用:https ://regexr.com/或https://regex101.com/来评估您的表达式
补充FelipeM 的 answer,字符类
[a-zA-ZÀ-ÖØ-öø-ÿ]
匹配 1 个字符,任何在这 5 个范围内。这 5 个范围涵盖了 2 个最常用的Unicode 块的所有字母(字母) :
\u0000
a\u007F
),和\u0080
一\u00FF
)。A-Z
a-z
在基本拉丁语块中:1* 不显示从 \u0000 到 \u001F (控制代码 C0)的不可打印的字符。
* 从 \u0080 到 \u009F 的字符(控制代码 C1)不显示,也不能打印。
À-Ö
,Ø-ö
并ø-ÿ
在 Latino-1 补充块中:2我的意思是,
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ
。成绩:
中间连字符 (
-
) 不包括在内。字符类中的连字符仅构建范围。如果你想包含它,你可以\-
在方括号内添加它。- 另一种选择是在类的开头或结尾添加连字符而不转义它,它们永远不会形成范围。
空格和其他标点符号也不包括在内。
不包括所有带有变音符号的拉丁字母。扩展拉丁语 A (
\u0100
a\u017F
) 或扩展拉丁语 B (\u0180
a ) 块中的一些非常罕见的字符\u024F
不在该类中。例如:
ĩ
,Ō
,ũ
,ŷ
,ƒ
,ǎ
,ȩ
,Ɇ
等。来自附加扩展拉丁语块的字母,以及来自希腊语、西里尔语、亚美尼亚语、希伯来语或阿拉伯字母等的字母,显然也不包括在内。
匹配 Unicode 块范围页面从选定的Unicode 块生成字符类。
如果你只想要西班牙字母,类是
[A-Za-zÁÉÍÓÚÜÑáéíóúüñ]
o,它是一样的,忽略大小写:虽然 JavaScript 中没有其他方法(正则表达式的实现最差),但其他语言允许以更友好的方式匹配字母。
在理论计算和形式语言理论中,正则表达式,也称为正则表达式,regexp1或有理表达式,23是形成搜索模式的字符序列,主要用于搜索字符串的模式。替代操作。
在您的示例中: