Php Zend-Regex允许使用空格和unicode字符
我有一个正则表达式的问题,它允许我输入一个名称,比如说,如果一个机构可以包含其他语言的特殊字符,空格和-char。 我知道我创造的表达:Php Zend-Regex允许使用空格和unicode字符,php,regex,zend-framework,validation,Php,Regex,Zend Framework,Validation,我有一个正则表达式的问题,它允许我输入一个名称,比如说,如果一个机构可以包含其他语言的特殊字符,空格和-char。 我知道我创造的表达: /^[a-zA-Z- "\']*$/ /^[^\~\\!\\@\\#\\$\\%\\^\\&\\*\\(\\)\\`\\1\\2\\3\\4\\5\\6\\7\\8\\9\\0\\_\\+\\=\\{\\}\\:\\"\\;\\\\\<\\>\\?\\,\\.\\/\ ]*$/ 将允许从a到z的字符和“-”字符以及空格。但当我键入żźć
/^[a-zA-Z- "\']*$/
/^[^\~\\!\\@\\#\\$\\%\\^\\&\\*\\(\\)\\`\\1\\2\\3\\4\\5\\6\\7\\8\\9\\0\\_\\+\\=\\{\\}\\:\\"\\;\\\\\<\\>\\?\\,\\.\\/\ ]*$/
将允许从a到z的字符和“-”字符以及空格。但当我键入żźćąś或其他语言时,特殊字符字符串无效,但我希望它有效
我创建的第二个表达式:
/^[a-zA-Z- "\']*$/
/^[^\~\\!\\@\\#\\$\\%\\^\\&\\*\\(\\)\\`\\1\\2\\3\\4\\5\\6\\7\\8\\9\\0\\_\\+\\=\\{\\}\\:\\"\\;\\\\\<\\>\\?\\,\\.\\/\ ]*$/
/^[^\\~\!\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*$/
允许使用a-z字符,但不允许使用上述字符。但我不允许在上面的正则表达式中使用空格,但当我键入带有空格的内容时,例如:
“别尔斯科·比亚尼亚”
无效,但当我一起键入时:
“BielskoBiała”
它以ą字符有效。所以我想允许像żźćąśł和其他语言的特殊字符,但也喜欢允许空白,我不知道如何做
当我使用Alpha验证器时,它还可以,但不允许放入我也想允许的“-”字符。首先,您必须使用
u
开关启用UTF-8支持。然后,您可以将unicode字母与序列\pL
匹配。请参阅
所以你的解决方案是
/^[\pL- "\']*$/u
如果我错了,请告诉我。pl表示波兰语特殊字符是吗?所以我必须添加其他语言的快捷方式,以允许其他语言使用特殊字符?
L
表示所有字母:)好的,它应该工作;)现在我明白了;)谢谢。问题解决您可以通过\p{Language}选择语言
。上面的链接中提供了语言列表。