Javascript 替换任何字符的正则表达式(数字/除外)
我有一根绳子。我需要解析它,替换所有字符(除了数字(Javascript 替换任何字符的正则表达式(数字/除外),javascript,regex,Javascript,Regex,我有一根绳子。我需要解析它,替换所有字符(除了数字(0到9)、、和) 我如何使用javascript实现它 试用: string.replace(/[a-zA-Z]*/, ""); 但是它似乎不起作用。而且,我需要任何字符,不仅是a-Z(还有?,/,空格,等等,正如前面所说的,,和使用 并放入任何你不想被替换的字符,它将匹配所有其他字符 看到了吗 您可以通过添加一个量词+对其进行优化,这样它可以一次替换这些字符的序列,而不是逐个替换 string.replace(/[^0-9,.]+/g, "
0
到9
)、、
和
)
我如何使用javascript实现它
试用:
string.replace(/[a-zA-Z]*/, "");
但是它似乎不起作用。而且,我需要任何字符,不仅是a-Z(还有?,/,空格,等等,正如前面所说的,,和使用
并放入任何你不想被替换的字符,它将匹配所有其他字符
看到了吗
您可以通过添加一个量词+
对其进行优化,这样它可以一次替换这些字符的序列,而不是逐个替换
string.replace(/[^0-9,.]+/g, "");
正如Felix Kling指出的,重要的是使用全局选项g
匹配所有出现的模式
查看它尝试替换除数字和
以外的所有字符
,
并执行全局替换:
string.replace(/[^0-9\,\.]+/g, "");
应该这样做
[^\d,]
表示“除数字、逗号或句点以外的任何字符”,一个被否定的字符+
而不是*
,否则将有大量空匹配项替换为空字符串/g
以替换所有实例onKeypress="return Custom(event,'[0-9]');"
function Custom(e, cPattern) {
var key = [e.keyCode || e.which];
var pattern = new String(cPattern);
var keychar = String.fromCharCode([e.keyCode || e.which]);
var pattern1 = new RegExp(pattern);
if ((key == null) || (key == 0) || (key == 8) ||
(key == 9) || (key == 13) || (key == 27)) {
return true;
}
else if (pattern1.test(keychar)) {
return true;
}
else {
e.preventDefault ? e.preventDefault() : e.returnValue = false;
}
}
创建一个否定字符类:。不要忘记
g
lobal修饰符。不要忘记g
lobal修饰符。
string.replace(/[^\d,.]+/g, "");
onKeypress="return Custom(event,'[0-9]');"
function Custom(e, cPattern) {
var key = [e.keyCode || e.which];
var pattern = new String(cPattern);
var keychar = String.fromCharCode([e.keyCode || e.which]);
var pattern1 = new RegExp(pattern);
if ((key == null) || (key == 0) || (key == 8) ||
(key == 9) || (key == 13) || (key == 27)) {
return true;
}
else if (pattern1.test(keychar)) {
return true;
}
else {
e.preventDefault ? e.preventDefault() : e.returnValue = false;
}
}