繁体   English   中英

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

[英]javascript and php regex to allow only letters, numbers, full stops, asterisks, underscores and dashes

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

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

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

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

您可以使用

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

主要思想是将您需要的符号添加到字符类中。 此外, $锚点阻止从字符串中删除所有不需要的字符,该字符串将匹配项锚定在字符串末尾。

关于连字符:它在字符类内的范围之后,因此被解析为文字-符号。 作为最佳实践,它应该放在字符类的末尾,以便不必对其进行转义(尽管它在ElasticSearch不起作用,它仍然应该在字符类的末尾进行转义,而不是在它的开头)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM