正则表达式不适用于数字验证

Regular expression is not working for number validation

本文关键字:验证 数字 适用于 不适用 正则表达式      更新时间:2023-09-26

我有一个验证器,它允许17位数字,否则就会出错。我写了一些代码,但它不起作用。这是我的密码。

  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'
       }
 }    

这是小提琴Jsfidle

return false语句后面有一个引号。此外,如果要在html标记中引用函数,则应该已经定义好函数,因此应该将其封装在head标记中(jsfiddle中的左侧面板):请参阅更新的jsfiddle

您的代码最后一行不需要的单引号返回false'。这就是代码在其他方面不能完美工作的原因。

检查此演示jsFiddle

jQuery

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
       }
 }   

除了上面提到的打字错误外,还必须将输入汇总到表单中,然后进行处理。

下面是一个使用JS进行表单验证的示例。

http://www.thesitewizard.com/archive/validation.shtml

祝好运

:)

代码中的两个错误:-您错过了输入的结束标记。

<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...
}