我想用规则验证字符串:
到目前为止,我提出了以下正则表达式:
static personName = XRegExp.cache("^[\\s\\p{L}\\'\\-\\(\\)]+(?=\\S*\\p{L})\\S+$");不能正常工作。只有"^(?=\\S*\\p{L})\\S+$"这有助于字母,我很难理解如何添加符号到它,以便所有的规则将通过,我做错了什么?
发布于 2019-03-15 08:19:13
如果允许的字符仅限于枚举的字符,则可以使用
var regex = XRegExp("^[\\s'()-]*\\p{L}[\\s\\p{L}'()-]*$"); 如果您希望允许任何字符,但只允许符号的子集,则使用“至少一个字母”限制。
var regex = XRegExp("^[\\p{N}\\s'()-]*\\p{L}[\\p{L}\\p{N}\\s'()-]*$"); 请参阅JS演示:
var regex = XRegExp("^[\\s'()-]*\\p{L}[\\s\\p{L}'()-]*$");
console.log( regex.test("Sóme (unknown-string) doesn't like it") );
var regex = XRegExp("^[\\p{N}\\s'()-]*\\p{L}[\\p{L}\\p{N}\\s'()-]*$");
console.log( regex.test("Sóme unknown-string (123)") );<script src="https://cdnjs.cloudflare.com/ajax/libs/xregexp/3.2.0/xregexp-all.min.js"></script>
详细信息
^ -字符串的开始[\\s'()-]* -0或更多白空间、'、(、)或- chars[\\p{N}\\s'()-]* -0或更多位数、空格和允许的符号\\p{L}一封信[\\s\\p{L}'()-]* -0或更多空格、字母、'、(、)或-字符[\\p{L}\\p{N}\\s'()-]* -0或更多字母、数字、空白和允许的符号$ -字符串的末端。发布于 2019-03-15 07:58:34
https://stackoverflow.com/questions/55177849
复制相似问题