我想将以下正则表达式扩展到负数。
this.value = this.value.replace(/[^0-9\.]/g, "");
我尝试添加减号,执行类似的操作 (/[^-0-9.]/g, ""),但这允许在数字的任何位置输入减号。我只想允许数字开头出现一次减号。随后出现的减号应被忽略。
请帮忙。
最佳答案
呃,替换每个非数字字符会让这变得有点困难 - 这就像“否定”正则表达式。我想出的是 negative lookahead ,防止减号 - 如果它位于字符串的开头(使用 start anchor ),则将由 [^0-9.]
匹配 - 被匹配:
….replace(/(?!^-)[^0-9.]/g, "")
关于javascript - 将正则表达式扩展到负数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13845580/