使用XRegExp在JavaScript(Node.js)中验证UTF-8名称

时间:2012-12-29 10:57:31

标签: javascript node.js xregexp

我正在尝试检查给定的UTF-8字符串是否仅由字母组成 我尝试了我在这里找到的解决方案:Validating user's UTF-8 name in Javascript

给定字符串:Ciesiołkiewicz
使用var XRegExp = require('xregexp').XRegExp('^\\p{L}+$');

进行测试

因为“ł”字母而无法正常工作 我试过了XRegExp('^[\\p{Latin}\\p{Common}]+$');
但它太多了,它接受抛光字母,但也接受“$”等字符

如何仅针对字母进行验证?我不想手动将它们输入regexp。

2 个答案:

答案 0 :(得分:0)

var XRegExp = require('xregexp').XRegExp;
var re = new XRegExp('^\\p{L}+$');

console.log(re.test('Ciesiołkiewicz'));
console.log(re.test('1Ciesiołkiewicz2'));
console.log(re.test('привет'));
console.log(re.test('пр1вет'));

> true
> false
> true
> false

完美无缺。

答案 1 :(得分:-2)

像[a-Z]这样的角色范围怎么样?这就是我通常使用的,如果我只寻找字母