用Javascript处理货币
我想知道这是用Javascript处理货币问题的理想解决方案吗? 其想法是限制用户只能在输入中写入数字和小数点。 这段代码混合了我在这个网站上找到的答案和我自己的一些答案 HTML: 为什么不是正则表达式用Javascript处理货币,javascript,html,jquery,Javascript,Html,Jquery,我想知道这是用Javascript处理货币问题的理想解决方案吗? 其想法是限制用户只能在输入中写入数字和小数点。 这段代码混合了我在这个网站上找到的答案和我自己的一些答案 HTML: 为什么不是正则表达式 PS:我只是复制粘贴了我发现的第一个正则表达式,如果它不能满足您的需要,请转到google查找正则表达式货币您可以轻松地在输入标记中指定它以获取类型编号,它将执行与此相同的所有功能,如下所示:- <input type='number' name='cijenanovogtroska
PS:我只是复制粘贴了我发现的第一个正则表达式,如果它不能满足您的需要,请转到google查找正则表达式货币您可以轻松地在输入标记中指定它以获取类型编号,它将执行与此相同的所有功能,如下所示:-
<input type='number' name='cijenanovogtroska' id='txtChar'>
您也可以使用HTML5验证,请参见此处
谢谢,我找到了适合我需要的正则表达式,这很管用,但用户可以编辑输入字段并在其中添加我不需要的点或格式。我希望对其进行限制,以便输入时不会出错。如果要将其保存到数据库中,可以将其指定为数据库中的数字。因此,如果用户输入除数字以外的任何内容,它将返回错误,然后您可以处理错误消息“我正在使用Google Firebase,它将抛出错误,而不会警告用户输入与实际不符。我以前没有使用Firebase,所以good luckI只是在代码段上尝试了这一点,但它允许我编写文本它确实如此,但只要内容不符合给定模式,它将拒绝提交表格(按`´´)。试试看。
function isNumberKey(evt)
{
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode == 46) // checks if you press dot on keyboard
{
if ($("#cijenanovogtroska:text").val().includes(".")) // that text wont include first dot, but you will limit every other try
{
return false;
}
if ($("#cijenanovogtroska:text").val() == "") // It checks if this string is empty, so dot cant go on first place
{
return false;
}
}
if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57)) // numbers and dots are possible inputs
{
return false;
}
else
{
return true;
}
}
if (cijena.slice(-1) != ".")
{
//do stuff
}
else
{
alert("You have decimal point on last place!");
}
<input type='number' name='cijenanovogtroska' id='txtChar'>