正则表达式,用于替换任何字符(数字/、.除外)
regex that replace any chars (except number/, .)
我有一个字符串。我需要解析它,替换任何字符(除了数字(0
到9
)、,
和.
。
如何使用javascript?
尝试使用:
string.replace(/[a-zA-Z]*/, "");
但似乎不起作用。此外,我需要任何字符,不仅是a-Z(还有?、/、空白等,如前所述,需要、和。
使用否定字符类
[^0-9,.]
并放入任何你不想被替换的字符,它将匹配所有其他字符。
在Regexr 上查看
您可以通过添加一个量词+
来优化它,这样它就可以一次替换这些字符的序列,而不是逐个替换。
string.replace(/[^0-9,.]+/g, "");
正如Felix Kling所指出的,使用全局选项g
来匹配所有出现的模式非常重要。
请在Regexr 上查看
string.replace(/[^'d,.]+/g, "");
应该这样做。
[^'d.,]
的意思是"除数字、逗号或句点以外的任何字符",一个否定的字符类- 使用
+
而不是*
,否则会有很多空匹配项被空字符串替换 - 使用
/g
,以便替换所有实例
尝试替换除数字和.
,
之外的所有字符,并全局替换:
string.replace(/[^0-9','.]+/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;
}
}
相关文章:
- 通过单击表单中的按钮,在代码生成中使用javascript生成字母数字代码
- 测试索引值是否等于某个数字的倍数
- 将数字转换为一定数量的硬币
- 键入最后一位数字后自动提交
- 如何在javascript中迭代数字列表
- Javascript逻辑运算符和字符串/数字
- 如何在javascript中获得与特定数字相等的随机数
- 如果元素's的ID以数字开头
- 递增一个数字而不去掉前导零
- 如何使用JavaScript查找1和N之间的所有数字的总和
- 如何在这里将两个值最低的数字相加
- 如何删除除冒号、数字和'上午'或者'下午'
- 如何为jQuery屏蔽输入插件创建一个允许字母数字、空格和重音字符的掩码
- Javascript排序字符串或数字
- 我想在AngularJS应用程序中创建一个输入数字框,用户不应该在该框上键入十进制数字.(一个整数输入框)
- 将数字四舍五入到小数点后两位
- 我如何在数字插入中使用逗号,这样它就不会'不要破坏我的输入字段
- 正则表达式与数字中的第二个点匹配
- 正则表达式,用于替换任何字符(数字/、.除外)
- 接受特殊字符的正则表达式,但 除外 ;并且必须包含一个字母数字字符