我有以下 onkeyup 命令来测试和删除字母逗号和美元符号:
onkeyup="if (/(?:[a-zA-Z]|\s|,|\$)+/ig.test(this.value)) this.value = this.value.replace(/(?:[a-zA-Z]|\s|,|\$)+/ig,'')"
它适用于除美元符号之外的所有内容。
有人可以帮我吗?
谢谢,
我有以下 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,'')"