正则表达式字母数字+空格+ 3个字符在PHP和如果可能的javascript

时间:2013-10-26 17:01:10

标签: php regex preg-match

我需要在php和javascript中找到好的正则表达式, 接受的字符是:

  é  è ' space and alphanumeric

我试过这个:

if(!preg_match("/^[a-z0-9]+([\\s]{1}[a-z0-9]|[a-z0-9])+$/i", $name))

如果你有php和javascript的解决方案那将是一个完美的世界:)

感谢您的帮助

3 个答案:

答案 0 :(得分:3)

所以你应该使用相应的正则表达式:

^[[:alnum:]éè ]+$

说明:

^                      # start of string
    [                  # match these characters
        [:alnum:]      # all alphanumeric chars
        é              # é letter
        è              # è letter
                       # a space
    ]                  # end of char group
    +                  # one or more sequence of these characters
$                      # end of string

Live demo

答案 1 :(得分:1)

你的正则表达式可能会被提炼为

 #  ^[a-zA-Z0-9éè'](?:[ ]?[a-zA-Z0-9éè']+)*$     

 ^ 
 [a-zA-Z0-9éè'] 
 (?: [ ]? [a-zA-Z0-9éè']+ )*
 $

答案 2 :(得分:1)

使用unicode属性:

preg_match("/^[\pL\pN\s']+$/u", $name)

\pL代表任何字母
\pN代表任意数字