1

特定のUTF-8文字列が文字のみで構成されているかどうかを確認しようとしています。
ここで見つけた解決策を試しました:JavascriptでユーザーのUTF-8名を検証する

与えられた文字列:Ciesiołkiewicz
でテストされますvar XRegExp = require('xregexp').XRegExp('^\\p{L}+$');


そして、私が試した「ł」の文字のために機能していませんXRegExp('^[\\p{Latin}\\p{Common}]+$');
が、多すぎます。ポーランド語の文字だけでなく、「$」などの文字も受け入れます。

文字のみに対して検証するにはどうすればよいですか?それらを手動で正規表現に入力したくありません。

4

2 に答える 2

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

完璧に動作します。

于 2012-12-29T11:25:11.603 に答える
-2

[aZ]のような文字範囲はどうですか?それは私が文字だけを探している場合に私が通常使用するものです

于 2012-12-29T11:01:17.650 に答える