Javascript正则表达式以匹配正确的价格值

巴布

以下是我的JavaScript代码,该代码仅接受数字和点(。)。但是,如果我写123 ..... 122,它仍然可以接受。基本上,我这样做是为了进行价格字段验证,其中用户只能编写此格式。

需求格式:

$(currency)12345(amount).(dot only once)123(decimal)

JavaScript代码:

<script type="text/javascript">
function validate(evt) {
  var theEvent = evt || window.event;
  var key = theEvent.keyCode || theEvent.which;
  key = String.fromCharCode( key );
  var regex = /[0-9]|\./;
  if( !regex.test(key) ) {
    theEvent.returnValue = false;
    if(theEvent.preventDefault) theEvent.preventDefault();
  }
}
</script>

HTML输入字段:

<input type='text' onkeypress='validate(event)' />

如何修复此javascript代码?
谢谢。

标记软件

您的代码有两个问题:您仅测试按键,而不测试输入的值,而正则表达式有点混乱。解决方法如下:

JavaScript:

function validate(toValidate){
    if(!/^\$\d+(\.\d{0,2})?$/.test(toValidate))
        alert('NOOOOO');//or do something else here
}

HTML输入:

<input type='text' oninput='validate(this.value)' />

jsfiddle

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

正则表达式价格匹配

来自分类Dev

正则表达式价格匹配

来自分类Dev

正则表达式匹配不正确的值

来自分类Dev

正则表达式javascript不正确匹配

来自分类Dev

Javascript正则表达式以匹配JSON键值对的值

来自分类Dev

正则表达式在句子中匹配价格

来自分类Dev

正则表达式匹配-Javascript

来自分类Dev

正则表达式匹配(JavaScript)

来自分类Dev

正则表达式匹配的javascript

来自分类Dev

正则表达式匹配(JavaScript)

来自分类Dev

匹配正则表达式-JavaScript

来自分类Dev

正则表达式与 Javascript 匹配

来自分类Dev

价格验证的正则表达式

来自分类Dev

正则表达式匹配不正确

来自分类Dev

Python中的正则表达式无法正确匹配

来自分类Dev

Python中的正则表达式无法正确匹配

来自分类Dev

Ruby正则表达式无法正确匹配

来自分类Dev

正则表达式在Java中无法正确匹配

来自分类Dev

整行正确时,正则表达式匹配

来自分类Dev

Umbraco 7正则表达式错误:值无效,它与正确的模式不匹配

来自分类Dev

需要正则表达式值以正确匹配我的输入文本

来自分类Dev

JavaScript正则表达式-null参数使正则表达式匹配

来自分类Dev

在javascript中寻找正确的正则表达式以进行模式匹配

来自分类Dev

什么perl正则表达式可以正确匹配javascript关联数组?

来自分类Dev

使用jQuery和JavaScript正则表达式在HTML块中匹配最低和最高价格

来自分类Dev

jQuery值匹配正则表达式

来自分类Dev

正则表达式BackReference以匹配不同的值

来自分类Dev

检索正则表达式匹配组值

来自分类Dev

正则表达式来匹配JSON值