我需要找到好的正则表达式在 php 和 javascript 中工作,接受的字符是:
é è ' space and alphanumeric
我试过这个:
if(!preg_match("/^[a-z0-9]+([\\s]{1}[a-z0-9]|[a-z0-9])+$/i", $name))
如果你有 php 和 javascript 的解决方案,那将是一个完美的世界:)
感谢帮助
我需要找到好的正则表达式在 php 和 javascript 中工作,接受的字符是:
é è ' space and alphanumeric
我试过这个:
if(!preg_match("/^[a-z0-9]+([\\s]{1}[a-z0-9]|[a-z0-9])+$/i", $name))
如果你有 php 和 javascript 的解决方案,那将是一个完美的世界:)
感谢帮助
所以你应该使用相应的正则表达式:
^[[: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
使用 unicode 属性:
preg_match("/^[\pL\pN\s']+$/u", $name)
\pL
代表任何字母
\pN
代表任何数字
您的正则表达式可能会被提炼成
# ^[a-zA-Z0-9éè'](?:[ ]?[a-zA-Z0-9éè']+)*$
^
[a-zA-Z0-9éè']
(?: [ ]? [a-zA-Z0-9éè']+ )*
$