[英]Set format for decimal number
我正在通过在jQuery
中使用RegEx
来验证某些输入,它按预期工作。 如果用户不添加它,我想添加一个在小数点前添加 0 的加法。
例如,
.50 to 0.50
-.50 to -0.50
怎么做?
代码:
$(document).ready(function() { $('#btnval').click(function() { var floatRegex = new RegExp(/^-?[0-9]+([\\,|\\.]{0,1}[0-9]{2}){0,1}$/); var currentSetTextBoxValue = $('#txtval').val(); //alert(currentSetTextBoxValue); var validateInput = floatRegex.test(currentSetTextBoxValue); alert(validateInput); }); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <input type="text" id="txtval" /> <input type="button" value="Get textbox Value" id="btnval" />
将[0-9]+
更改为[0-9]*
,以便它允许零位而不是至少需要一位。
$(document).ready(function() { $('#btnval').click(function() { var floatRegex = new RegExp(/^-?[0-9]*([\\,|\\.]{0,1}[0-9]{2}){0,1}$/); var currentSetTextBoxValue = $('#txtval').val(); //alert(currentSetTextBoxValue); var validateInput = floatRegex.test(currentSetTextBoxValue); alert(validateInput); }); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <input type="text" id="txtval" /> <input type="button" value="Get textbox Value" id="btnval" />
如果您稍后需要转换它,您可以像这样修复该值:
if(currentSetTextBoxValue.indexOf('.') === 0){
currentSetTextBoxValue = '0' + currentSetTextBoxValue;
}
if(currentSetTextBoxValue.indexOf('.') === 1 && currentSetTextBoxValue.indexOf('-') === 0){
currentSetTextBoxValue = '-0.' + currentSetTextBoxValue.split('.')[1];
}
您可以使用正则表达式替换输入! 这个正则表达式寻找 . 或者 -。 在字符串的开头,它将用 0. 或 -0 替换它。 根据它找到的内容,如果它不匹配,则字符串将相同。
$(document).ready(function() { $('#btnval').click(function() { var floatRegex = new RegExp(/^-?[0-9]+([\\,|\\.]{0,1}[0-9]{2}){0,1}$/); var currentSetTextBoxValue = $('#txtval').val().replace(/^(\\-)?\\./, "$10."); //alert(currentSetTextBoxValue); var validateInput = floatRegex.test(currentSetTextBoxValue); alert(validateInput); }); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <input type="text" id="txtval" /> <input type="button" value="Get textbox Value" id="btnval" />
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.