为什么我的正则表达式让我写& &;(逗号)
Why my Regex let me write "," (Comma)?
上面有一个JavaScript正则表达式函数代码:
function AcceptDigits(objtextbox) {
var exp = /[^'d{1,3}]/g;
objtextbox.value = objtextbox.value.replace(exp, '');
};
每当我写一个特殊的字符,函数就会删除这个字符,例如:
我写45656654@,这个函数清理"@"像45656654。
我的问题
问题是,当我写任何","(逗号)函数不起作用时,我尝试"。-()/&%$#"和函数工作。
有什么帮助来捕捉和删除逗号吗?
/[^'d{1,3}]/g
表示"既不是数字、大括号也不是逗号的单个字符"。
你可能是指
/'D{1,3}/g
但实际上,如果你想用那个正则表达式来替换非数字,就用
/'D+/g
解释为什么逗号不起作用:
在方括号(字符集)中,除了字符集开头的]
、'
和^
外,大多数符号都没有特殊效果。因此
[^'d{1,3}]
表示不是数字的字符,也不是{
, 1
, ,
, 3
, }
(1
和3
,这里是多余的信息)。
进一步解释: 'd
表示任何数字,'D
表示数字的补充(除了数字),[]
表示字符集。由于'd
和'D
都已设置,因此不需要将它们放入方括号中,[^'d]
与'D
相同。
因此,为了匹配除了1-3个数字之外的所有内容,您可以写'D{1,3}
或[^'d]{1,3}
。也就是说,把花括号放在方括号后面。
Tim Pietzckler在另一个答案中告诉你应该怎么做
相关文章:
- 为什么不't Javascript对我的输入值进行了一些重新检查
- 可以't让我的if语句处理js中的html表单输入
- 我的单元测试选项是什么
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 我的职位回报太快了,如何做出承诺
- 我的jQuery插件参数没有正确启动,遇到了问题
- 我如何在数字插入中使用逗号,这样它就不会'不要破坏我的输入字段
- 我想找到包括句点和逗号在内的数字,但Regex不适用于javascript
- 从我的查询中为JavaScript创建逗号分隔列表
- 自动完成文本框中逗号分隔的多个值.我想用List<字符串>在控制器类中可用
- 使用Angular从我的textarea字符串值中找到逗号
- 在我的计算器脚本中四舍五入值并为该值添加逗号分隔符
- 为什么我的正则表达式让我写& &;(逗号)
- 如何从我的数组值删除逗号
- 为什么我得到逗号在我的返回值?JavaScript名人姓名揭示器
- 我已经在javascript中编写了一个代码来排序逗号分隔的值(数字),并且对于特定的值集,我的升序排序是不工作的
- 我怎样才能使它成为可能,我的文本框将只接受数字,(逗号)和空格和+字符使用Jquery
- 我的IE9可以使用尾随逗号,user's IE9不是;为什么?
- 如何允许逗号到我的附加代码
- 如何添加一个逗号在我的数量增加通过JS