RegEx unicode名称验证(仅限短划线,点,空格,允许使用)

时间:2017-06-21 16:07:43

标签: javascript regex validation unicode

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

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

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

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

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

1 个答案:

答案 0 :(得分:2)

您可以使用tf.scan(与任何语言的任何类型的字母匹配),将其与JS \p{L}组合。



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>
&#13;
&#13;
&#13;