我有一个允许17位数字的validatin,否则就会出错,我写了一些代码,但它不起作用。这是我的代码。
function validateRedeemPin(){
var pin = document.getElementById('epayPinNumber').value;
var pattern = /^\d{17}$/;
var validPin = pin.match(pattern);
if(!validPin){
alert("Please enter a valid 17 digit PIN number to redeem.");
return false'
}
}
这是小提琴Jsfiddle
答案 0 :(得分:2)
您的return false
声明后有一个引号。此外,如果您要在html标记中引用它,则应该已经定义了您的函数,因此您应该将它包装在head标记中(jsfiddle中的左侧面板):请参阅updated jsfiddle
答案 1 :(得分:1)
您的代码最后一行不受欢迎的单引号返回false' 。这就是为什么代码不起作用的原因。
function validateRedeemPin(){
var pin = document.getElementById('PinNumber').value;
var pattern = /^\d{17}$/;
var validPin = pin.match(pattern);
if(!validPin){
alert("Please enter a valid 17 digit PIN number to redeem.");
return false
}
}
答案 2 :(得分:1)
除了上面提到的拼写错误之外,输入必须以表格形式进行汇总,然后进行处理。
以下是使用JS进行表单验证的示例。
http://www.thesitewizard.com/archive/validation.shtml
祝你好运:)
答案 3 :(得分:1)
您的代码有两个错误: - 你错过了输入的结束标记。
<input id="PinNumber" name="PinNumber" type="text">
now adding end tag of input.
<input id="PinNumber" name="PinNumber" type="text"/>
并在“return false”语句结束时删除单个撇号(')。
return false' //this will not parse correctly. so remove
return false;
你的jsFIddle错误: - 将“onLoad”条件更改为“No wrap-in head”选项。所以此功能将添加到标题部分。或者使用以下语法定义函数。
validateRedeemPin = function() {
//code goes here...
}