正则表达式 - 从文本输入中删除美元符号

Regex - Removing Dollar Sign From Text Input

本文关键字:删除 美元 符号 输入 文本 正则表达式      更新时间:2023-09-26

我有一个以下onkeyup命令来测试和删除字母逗号和美元符号:

onkeyup="if (/(?:[a-zA-Z]|'s|,|'$)+/ig.test(this.value)) this.value = this.value.replace(/(?:[a-zA-Z]|'s|,|'$)+/ig,'')"

它适用于除美元符号以外的所有内容。

有人可以在这里帮助我吗?

谢谢布尔兹

如果你试图将任意字符串清理成一个数字,你将通过用空字符串替换所有不是数字的东西(假设你想要一个整数)来追逐更少的边缘情况。

this.value = this.value.replace( /[^0-9]/, '' );

HTML 将您的反斜杠解释为转义内联 html 字符串,而不是正则表达式。 以下代码打印$

<body onload='alert("'$");'> // prints '$', not ''$'

您需要转义两次,或者将正则表达式移出内联 html 并移入函数。

我相信正确答案是将'$替换为''$,如下所示:

onkeyup="if (/(?:[a-zA-Z]|'s|,|''$)+/ig.test(this.value)) this.value = this.value.replace(/(?:[a-zA-Z]|'s|,|'$)+/ig,'')"