簡體   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