Javascript 正则表达式-从文本输入中删除美元符号
我使用以下onkeyup命令测试和删除字母逗号和美元符号:Javascript 正则表达式-从文本输入中删除美元符号,javascript,html,regex,onkeyup,Javascript,Html,Regex,Onkeyup,我使用以下onkeyup命令测试和删除字母逗号和美元符号: onkeyup="if (/(?:[a-zA-Z]|\s|,|\$)+/ig.test(this.value)) this.value = this.value.replace(/(?:[a-zA-Z]|\s|,|\$)+/ig,'')" 它适用于除美元符号以外的所有符号 有人能帮我吗 谢谢, Brds将反斜杠解释为转义内联HTML字符串,而不是正则表达式。以下代码打印$ <body onload='alert("\$");'&
onkeyup="if (/(?:[a-zA-Z]|\s|,|\$)+/ig.test(this.value)) this.value = this.value.replace(/(?:[a-zA-Z]|\s|,|\$)+/ig,'')"
它适用于除美元符号以外的所有符号
有人能帮我吗
谢谢,
Brds将反斜杠解释为转义内联HTML字符串,而不是正则表达式。以下代码打印
$
<body onload='alert("\$");'> // prints '$', not '\$'
如果您试图将一个任意字符串清理为一个数字,则可以用空字符串替换所有非数字(假设您想要整数)的内容,从而减少边缘情况
this.value = this.value.replace( /[^0-9]/, '' );
这实际上对我来说似乎是正确的,但是正则表达式可以简单得多:
/[a-z\s,$]/ig
,除非我误解了你。为我工作。。。尝试将此.value
转储到控制台并查看其中的内容。在不进行测试的情况下运行替换可能会更便宜。看起来它对我有效:@Michael:另外,如果(…)检查没有必要,则初步。。。
this.value = this.value.replace( /[^0-9]/, '' );