javascript和php正则表达式只允许字母,数字,句号,星号,下划线和破折号

时间:2015-11-05 16:17:14

标签: javascript php regex

我只将它用于字母,数字下划线和破折号

var regexp = /^[a-zA-Z0-9-_]+$/; 

$test = preg_replace('/[^a-zA-Z0-9_-]$/s', '', $ebay_username);

我需要为ebay用户名过滤js和php。

1 个答案:

答案 0 :(得分:0)

您可以使用

var regex = /^[a-zA-Z0-9-.*_]+$/; // for JS
$test = preg_replace('/[^a-zA-Z0-9-.*_]/', '', $ebay_username); // for PHP

主要思想是只需将符号添加到角色类中。此外,$锚点阻止从字符串结尾处的字符串中删除所有不需要的字符。

关于连字符:它位于字符类中的范围之后,因此被解析为文字-符号。作为最佳实践,它应该放在角色类的末尾,以便不必逃避它(尽管它不会在ElasticSearch中工作,它仍然应该在角色类的末尾进行转义,但是不是在它的开始)。