javascript - 将正则表达式扩展到负数

标签 javascript jquery regex

我想将以下正则表达式扩展到负数。

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/

相关文章:

Javascript 在返回响应之前等待 Promise 在 for 循环内完成

javascript - 为什么 javascript 不能与 https 一起使用

javascript - 事件.目标。选择 parent 而不是 child

javascript - jQuery 动画重叠

javascript - JSON 中的 Jquery 函数

javascript - 如何为ckeditor定义自己的列表样式?

javascript - 如何使用 javascript 拦截站点 http 请求?

regex - 如何grep包含两个逗号的行

mysql - 替换 MySql 中的格式化字符串

iphone - 非贪婪的 NSRegularExpression