Javascript允许逗号和数字的货币货币文本框
Javascript allow comma and numeric for currency money textbox
JS:
<script>
$(document).ready(function () {
$("#Salary").keyup(function (e) {
var isFloatNumber = IsFloatOnly('input#Salary');
if (!isFloatNumber) {
e.preventDefault();
$("#ErrorMessage").text('Invalid value. Please enter numeric value.');
}
else {
$("#ErrorMessage").text('Success.');
}
});
});
function IsFloatOnly(element) {
var value = $(element).val();
var regExp = "^''d+('',''d+)?$";
return value.match(regExp);
}
</script>
目录:
<input type="Text" id="Salary" maxlength="20" name="Salary" />
<label id="ErrorMessage"></label>
问题:
如果我写如下值,
100,00
100,00 是可以的。消息显示成功
然而
如果我写如下值,
1,000,05
10,000,00
错误消息显示无效值。
根据我在 javascript 中的正则表达式,我如何允许 1,000,05 和 10,000,00 个值成功?
谢谢
您的正则表达式只允许一个逗号。?
量词表示零或前面的元素之一。如果要允许任意数量的它们,请使用 *
。
var regExp = /^'d+(,'d+)*$/;
此外,请使用正则表达式文本,这样您就不必转义反斜杠。而且没有必要在正则表达式中转义逗号。
$(document).ready(function() {
$("#Salary").keyup(function(e) {
var isFloatNumber = IsFloatOnly('input#Salary');
if (!isFloatNumber) {
e.preventDefault();
$("#ErrorMessage").text('Invalid value. Please enter numeric value.');
} else {
$("#ErrorMessage").text('Success.');
}
});
});
function IsFloatOnly(element) {
var value = $(element).val();
var regExp = /^'d+(,'d+)*$/;
return value.match(regExp);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="Text" id="Salary" maxlength="20" name="Salary" />
<label id="ErrorMessage"></label>
将
正则表达式更改为 var regExp = "^''d+('',''d+)*$";它适用于任意数量的逗号分隔数字
相关文章:
- 如何使用jquery在填充自动完成的值后使文本框只读
- 使用Clipboard.js复制span文本
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 用程序搜索JQuery数据表中的文本
- jQuery匹配JSON对象的部分文本
- onkeyup无法动态创建多个文本区域
- 如何在下面的ES6循环中获得前面的文本
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 让文本输入幻灯片显示输入时的新文本输入?然后向后滑动
- 借助asp.net验证或java脚本对多个文本进行验证
- 货币代码为欧元-金额的格式不应包含小数
- 无法在ajaxStart中更改跨度文本
- 高亮显示时编辑文本大小和颜色
- jquery中的文本框验证
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- Javascript允许逗号和数字的货币货币文本框
- 如何在货币文本框中将*转换为000
- 如何将文本设置为货币格式
- 输入文本框应该包含$和£货币符号和警告,如果用户输入任何其他特殊字符
- 使用JavaScript在asp.net文本框中显示货币符号($)