我想验证一些用户输入,但我的正则表达式在遇到变音符时失败。我正在谈论像ăĂ
等字符。正则表达式的变音问题
我应该添加到正则表达式代码,所以它应该也验证从输入内的变音符号?
谢谢!
P.S .:如果有关系,我使用PHP和CakePHP框架。
这是我目前使用的用于验证用户输入一段代码:return preg_match('|^[0-9a-zA-Z_-\s]*$|', $value);
我想验证一些用户输入,但我的正则表达式在遇到变音符时失败。我正在谈论像ăĂ
等字符。正则表达式的变音问题
我应该添加到正则表达式代码,所以它应该也验证从输入内的变音符号?
谢谢!
P.S .:如果有关系,我使用PHP和CakePHP框架。
这是我目前使用的用于验证用户输入一段代码:return preg_match('|^[0-9a-zA-Z_-\s]*$|', $value);
假设你想匹配的字母,然后让Unicode字母应该有所帮助:
使用/\p{L}+/u
例如,如果你想匹配一系列字母。不要忘记/u
(Unicode)修饰符。
你的情况:
return preg_match('|^[0-9\p{L}_\s-]*$|u', $value);
应该工作。
另外,使用|
作为正则表达式定界符可能不是一个好主意。对于目前的正则表达式/
会做得很好;其他选择是~
或#
,因为它们很少出现在文本中,并且在正则表达式中没有任何特殊含义。
非常感谢您的详细解释! – linkyndy 2011-04-26 17:37:11
如果您不告诉我们您的正则表达式是什么,我们该如何帮助您? – Gabe 2011-04-26 16:44:13
对不起,忘记了吧! – linkyndy 2011-04-26 16:47:50