我只将它用于字母,数字下划线和破折号
var regexp = /^[a-zA-Z0-9-_]+$/;
和
$test = preg_replace('/[^a-zA-Z0-9_-]$/s', '', $ebay_username);
我需要为ebay用户名过滤js和php。
答案 0 :(得分:0)
您可以使用
var regex = /^[a-zA-Z0-9-.*_]+$/; // for JS
$test = preg_replace('/[^a-zA-Z0-9-.*_]/', '', $ebay_username); // for PHP
主要思想是只需将符号添加到角色类中。此外,$
锚点阻止从字符串结尾处的字符串中删除所有不需要的字符。
关于连字符:它位于字符类中的范围之后,因此被解析为文字-
符号。作为最佳实践,它应该放在角色类的末尾,以便不必逃避它(尽管它不会在ElasticSearch中工作,它仍然应该在角色类的末尾进行转义,但是不是在它的开始)。