正则表达式(php pcre)未验证货币符号

时间:2015-07-30 17:19:08

标签: php regex validation pcre

我正在使用以下正则表达式来检查输入字段。我想允许所有货币符号:

/^[\w\s\-\#?\!:='\(\)\p{Sc}]+$/

它有效 - 除符号外。

\p{Sc}表示“匹配所有货币”。 $符号是例如工作 - 但标志被踢出。

我的错误在哪里? 问候。

1 个答案:

答案 0 :(得分:1)

使用u标志启用UTF模式,以便将模式和输入字符串视为Unicode字符串(采用UTF-8编码)。如果没有u标志,则匹配对字节进行操作,并且不支持Unicode。

/^[\p{Sc}\w\s#?!:='()-]+$/u

我还删除了不必要的转义\并将-放在字符类的末尾以避免转义。