想知道如何只接受从1到9输入到输入框的号码,如果输入例如0,则发出警告信息,抱歉不是有效号码。
请检查我迄今为止所做的功能,但不能正常工作..谢谢
<input name="number1" type="text" size="1" id="number1"onkeyup="doKeyUpValidation(this)/>
doKeyUpValidation(text){
var validationRegex = RegExp(/[-0-9]+/, "g");
if(!validationRegex.match(text.value)
{
alert('Please enter only numbers.');
}
答案 0 :(得分:1)
您错过了onkeyup
属性末尾的结束语,正如David所提到的,您需要将正则表达式字符串更改为/[1-9]/
答案 1 :(得分:1)
你非常接近。试试这个:
function doKeyUpValidation(text) {
var validationRegex = RegExp(/[1-9]+/, "g"); // The regex was wrong
if( !validationRegex.match(text.value) )
{
alert('Please enter only numbers.');
}
} // this was missing before
答案 2 :(得分:0)
您的HTML稍有不妥,应该是:
<input name="number1" type="text" size="1" id="number1" onkeyup="doKeyUpValidation(this)"/>
每个属性之间需要一个空格,每个属性都需要引用。
此外,您的JavaScript有一些错误。它应该是:
function doKeyUpValidation(text) {
var validationRegex = /[1-9]/g;
if (!validationRegex.test(text.value)) {
alert('Please enter only numbers.');
}
}
您需要使用function关键字使doKeyUpValidation
成为一个函数。此外,你的正则表达式有点偏。