javascript 文本框只接受 1/4 数字
javascript textbox accepting only 1/4 numbers
我需要在 javascript 中编写代码以在特定时间间隔内接受 文本框 中的数字(该部分已完成,介于 0 和 16 之间),现在我需要它接受 1.5、1.75、9.75、0、3.25 等数字。所有数字都带有夸脱。应拒绝所有其他号码。
已接受 = 文本框背景为绿色。
已拒绝 = 文本框背景为红色。
<script type="text/javascript">
function readNumbersAndReturnsArray() { //to fix
var tabNombre = new Array()
for (var i = 0; i < 7; i++){
var strNombre = document.getElementById('tbNbHrs' + i).value
if (isAnEmptyString(strNombre) || !containsNumbersOnly(strNombre))
{
var strMiseEnForme = 'sNotNumber'
}
else if (!estDansIntervalle(strNombre,'0','16'))
{
var strMiseEnForme = 'sOutOfLimit'
}
else if(-----------) //this is the part where I should accept numbers and their quarts only (0, 0.25, 0.5, 0.75, 1, 1.25, etc.)
{
var strMiseEnForme = 'sNotQuart'
}
else
{
var strMiseEnForme = 'sValid'
strNombre = Number(strNombre)
tabNombre.push(strNombre)
}
document.getElementById('tbNbHrs' + i).className = strMiseEnForme
}
return tabNombre
注意:所有其他功能都已在 js 库中运行和编码。
解决方案是使用模运算符。模数运算符 returns 除法运算的 余数 。
模数运算符在 javascript 和许多其他语言中表示为 %。
例如:
- 5 % 2 = 1
- 15% 4 = 3
- 253% 13 = 6
- 1.25% 0.25 = 0
您列为 "valid" 的所有数字(1、1.25、3.75 等)都可以被 0.25 整除。只需使用取模运算符,看看是否得到 0 的余数。如果是,则该数字可被 0.25 整除并且有效。
你的 if 语句应该是:
if(strNombre % 0.25 == 0){
// VALID: Number is 1.75, 2, 2.25 etc.
}else{
// INVALID
}
我需要在 javascript 中编写代码以在特定时间间隔内接受 文本框 中的数字(该部分已完成,介于 0 和 16 之间),现在我需要它接受 1.5、1.75、9.75、0、3.25 等数字。所有数字都带有夸脱。应拒绝所有其他号码。
已接受 = 文本框背景为绿色。 已拒绝 = 文本框背景为红色。
<script type="text/javascript">
function readNumbersAndReturnsArray() { //to fix
var tabNombre = new Array()
for (var i = 0; i < 7; i++){
var strNombre = document.getElementById('tbNbHrs' + i).value
if (isAnEmptyString(strNombre) || !containsNumbersOnly(strNombre))
{
var strMiseEnForme = 'sNotNumber'
}
else if (!estDansIntervalle(strNombre,'0','16'))
{
var strMiseEnForme = 'sOutOfLimit'
}
else if(-----------) //this is the part where I should accept numbers and their quarts only (0, 0.25, 0.5, 0.75, 1, 1.25, etc.)
{
var strMiseEnForme = 'sNotQuart'
}
else
{
var strMiseEnForme = 'sValid'
strNombre = Number(strNombre)
tabNombre.push(strNombre)
}
document.getElementById('tbNbHrs' + i).className = strMiseEnForme
}
return tabNombre
注意:所有其他功能都已在 js 库中运行和编码。
解决方案是使用模运算符。模数运算符 returns 除法运算的 余数 。
模数运算符在 javascript 和许多其他语言中表示为 %。
例如:
- 5 % 2 = 1
- 15% 4 = 3
- 253% 13 = 6
- 1.25% 0.25 = 0
您列为 "valid" 的所有数字(1、1.25、3.75 等)都可以被 0.25 整除。只需使用取模运算符,看看是否得到 0 的余数。如果是,则该数字可被 0.25 整除并且有效。
你的 if 语句应该是:
if(strNombre % 0.25 == 0){
// VALID: Number is 1.75, 2, 2.25 etc.
}else{
// INVALID
}