简体   繁体   English

Javascript 正则表达式只接受字母、空格和 ñ

[英]Javascript regex to accept only letters, spaces, and ñ

I am looking for a Javascript regex to make sure the string contains only spaces, letters, and ñ — case insensitively.我正在寻找一个 Javascript 正则表达式来确保字符串仅包含空格、字母和 ñ — 不区分大小写。

I already tried: /^[A-Za-z _]*[A-Za-z][A-Za-z _]*$/ but it fails to accept ñ .我已经尝试过: /^[A-Za-z _]*[A-Za-z][A-Za-z _]*$/但它无法接受ñ

/^[ñA-Za-z _]*[ñA-Za-z][ñA-Za-z _]*$/

and

/^[\u00F1A-Za-z _]*[\u00F1A-Za-z][\u00F1A-Za-z _]*$/

should work.应该管用。

Javascript regex supports \ through \￿ . Javascript 正则表达式支持\\￿

If you simply want that caracter, insert it in the Regex, like [A-Za-zÑñ ] .如果您只是想要该字符,请将其插入正则表达式,例如[A-Za-zÑñ ] Otherwise use a Unicode-knowing Regex library for Javascript like http://xregexp.com/ .否则,请为 Javascript 使用支持 Unicode 的 Regex 库,例如http://xregexp.com/ Sadly JS Regexes don't support Unicode compliant character classes (like \\p{L} in C# regexes)遗憾的是,JS 正则表达式不支持 Unicode 兼容的字符类(如 C# 正则表达式中的\\p{L}

您需要使用字符类。

/[A-Za-z ñ]+/

This worked out for me /^[a-zA-ZáéñóúüÁÉÑÓÚÜ -]*$/ a shorter version from @tchris t answer ^^这对我/^[a-zA-ZáéñóúüÁÉÑÓÚÜ -]*$/ @tchris t answer 的较短版本 ^^

这对我有用,允许使用 ñóíú 和空格等 utf8 字符

const validationsLetters = /^[a-zA-Z\u00C0-\u00FF ]*$/;

With this it forces not to have spaces at the beginning but if later有了这个,它强制在开始时没有空格,但如果稍后

/^[a-zA-Z\u00C0-\u00FF][a-zA-Z\u00C0-\u00FF\s]*$/

..for email you can use: ..对于电子邮件,您可以使用:

/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i

..for password you can use: ..对于密码,您可以使用:

/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,}$/i

I hope it works for you like it did for me, good look..!我希望它对你有用,就像对我一样,好看..!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM