2013-04-05 118 views
0

我想知道是否有人可以帮助我。撇号在正则表达式

我使用以下正则表达式作为我的表单验证的一部分。

else if(!preg_match('/^[A-Za-z0-9 .,;-]{5,60}$/', $locationname)) 

我必须承认,它采取了我一段时间远远得到这个,但我遇到我一直无法解决。

我只是想知道somone是否可以告诉我,请问如何在这个正则表达式中将撇号作为可接受的字符。

许多的感谢和亲切的问候

克里斯

回答

3

使用反斜线撇号,\'

preg_match('/^[A-Za-z0-9 .,;\'-]{5,60}$/', $locationname) 
+0

@RitchieHindle你好,谢谢你花时间回复我的文章和解决方案。我在我的代码中实现了更改,不幸的是它看起来不起作用,因为我无法通过撇号。我实际上有两个文件,我需要对原始文件进行更改 '“正则表达式”:/^$ |^[A-Za-z0-9。,; - ] + $ /'和preg_match('/^ [A-Za-z0-9。,; - ] {5,60} $ /',$ locationname))'改为: '“正则表达式”:/^$ |^[A-Za-z0 -9。,; \' - ] + $ /,'和'preg_match('/^[A-Za-z0-9。,;''] {5,60} $ /',$ locationname)' 非常感谢和亲切的问候 – IRHM 2013-04-05 15:57:13

1

尝试使用\

否则,如果(的preg_match逃逸(! '/^[A-Za-z0-9。,; - '] {5,60} $ /',$ locationname))

范围 - 也需要转义(\ - )。请尝试以下

else if(!preg_match('/^[A-Za-z0-9 .,; \-\']{5,60}$/', $locationname)) 
+0

Hi @Ram,感谢您花时间回复我的文章和建议的解决方案。我试图实现这一点,但不幸的是,当我运行脚本时,我收到语法错误。非常感谢和亲切的问候。 Chris – IRHM 2013-04-05 17:08:34

+0

我已经编辑了我的评论,为 - (范围)添加了换码。现在试试这个 – Ram 2013-04-05 18:42:25

+0

Hi @Ram,非常感谢你对此持续的帮助。不幸的是,我无法使脚本与您的解决方案一起工作,但经过一些工作后,我已经能够使用我发布的解决方案。 – IRHM 2013-04-06 14:03:32

0

在additon我受到的帮助下,经过这个一些更多的工作,我发现soluton是:else if(!preg_match('/^$|^[-a-zA-Z0-9 .,;\ \']{5,60}$/', $locationname)){

问候

克里斯