gpt4 book ai didi

javascript - RegEx unicode 名称验证(仅允许破折号、点、空格、撇号)

转载 作者:行者123 更新时间:2023-12-01 03:28:10 25 4
gpt4 key购买 nike

(我搜索了这个问题,但只找到了足够好的解决方案,需要使用 unicode 插件。我不能使用它。)

我想使用以下条件验证输入字段(名字和姓氏):

  • 不允许使用数字,
  • 。 - '(点、破折号、撇号和空格)是允许的,
  • 不允许使用其他符号或特殊字符,
  • 我想接受所有 unicode 字符

[a-zA-Z] 不在表中,因为当输入重音字符时它就会消失。我从 ^([^0-9]*)$ 开始,它能够满足上述所有标准,除了一个:它允许所有特殊字符,而不仅仅是 .-'和空格。

是否可以修改^([^0-9]*)$,使其符合特殊字符标准并接受所有unicode字符?

最佳答案

您可以使用\p{L} (匹配任何语言的任何类型的字母),将其与 JS XRegExp library 结合起来.

var str1 = "aàp'èéìa skopI(989'j0.ç-' dc sAù_";
var str2 = "aàp'èéìa skopI'j.-' dc sAù";

regex = XRegExp('^[\\p{L} \'.-]+$');

console.log(regex.test(str1)); // this should return false
console.log(regex.test(str2)); // this should return true
<script src="https://cdnjs.cloudflare.com/ajax/libs/xregexp/2.0.0/xregexp-all-min.js"></script>

关于javascript - RegEx unicode 名称验证(仅允许破折号、点、空格、撇号),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44681194/

25 4 0
文章推荐: jquery - SimpleModal,如何用动画关闭弹出窗口
文章推荐: javascript - '+' 在 AngularJS 中执行连接而不是加法
文章推荐: jquery - 从一个文本框复制到另一个文本框
文章推荐: javascript - 如何更改