[英]Regular expression for allowing only a certain set of characters
我想要一些幫助創建正則表達式來解析文本框上的字符串的幫助。 我目前有以下兩種javascript方法:
function removeIllegalCharacters(word) {
return word.replace(/[^a-zA-Z 0-9,.]/g, '');
}
$("#comment").keyup(function() {
this.value = removeIllegalCharacters(this.value);
});
我想將/[^a-zA-Z 0-9,.]/g
正則表達式替換為僅接受以下字符集的正則表達式:
az
AZ
0-9
áéíóúü
ÁÉÍÓÚÜ
ñÑ
;,.
()
- +
這可能很簡單,但是我幾乎沒有正則表達式技能。 提前致謝。
只需添加這些字符即可。
function removeIllegalCharacters(word) {
return word.replace(/[^a-zA-Z 0-9,.áéíóúüÁÉÍÓÚÜñÑ();+-]/g, '');
}
return word.replace(/[^a-zA-Z0-9áéíóúüÁÉÍÓÚÜñÑ\(\);,\.]/g, '');
對於某些非標准字母,您可能必須使用十六進制轉義序列(\\ x ##)或Unicode轉義序列(\\ u ####),但這將為您提供一個良好的開端。 或者,稍微簡化一下:
return word.replace(/[^\w\dáéíóúüÁÉÍÓÚÜñÑ\(\);,\.]/g, '');
如果我正確理解了您的要求,則只允許列出的字符,並刪除其余所有字符。 如果是這種情況,您可以簡單地將char類擴展為:
function removeIllegalCharacters(word) {
return word.replace(/[^a-zA-Z0-9áéíóúüÁÉÍÓÚÜñÑ;,.()]/g, '');
}
您是否嘗試過:[^ a-zA-Z 0-9;,..áéíóúüÁÉÍÓÓÚÜñÑ()]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.