警报框未出现在匹配/不匹配的正则表达式上?



我做了一个正则表达式来验证潜在的比特币地址,现在当我点击报价按钮时,我希望根据正则表达式检查表单中输入的值,但它不起作用。

https://jsfiddle.net/arkqdc8a/5/

var walletCheck = $('#wallet').val();
var reg = new RegExp("^[13][a-km-zA-HJ-NP-Z1-9]{25,34}$");
$('#button1').on('click', function() {
	if (reg.test(walletCheck)) == false {
		alert("Inalid Address");
  }
   else {
   	alert("Valid Address");
   }
 }
<input type="form" 
       id="wallet" 
       maxlength="34" 
       pattern="^[13][a-km-zA-HJ-NP-Z1-9]{25,34}$" 
	   placeholder="Your Bitcoin wallet's address"></input><br><br>
<button id="button1">Click for a quote!</button>

试试这个。您有一些牙套没有正确闭合,您的相等性检查也没有正确完成。你的小提琴也没有导入jQuery。

var reg = new RegExp("^[13][a-km-zA-HJ-NP-Z1-9]{25,34}$");
$('#button1').on('click', function() {
    var walletCheck = $('#wallet').val();
    if (reg.test(walletCheck)) {
      alert("Valid address");
    } else {
      alert("Invalid address");
    }
});
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<input type="text" id="wallet" maxlength="34" pattern="^[13][a-km-zA-HJ-NP-Z1-9]{25,34}$" placeholder="Your Bitcoin wallet's address" />
<br>
<br>
<button id="button1">Click for a quote!</button>

所以你在javascript代码中缺少一些语法上的东西。

  1. 您的 if 条件需要放在括号中。
  2. 使用 '=
  3. =' 或 '===' 比较 if 语句中的条件
  4. 在最后一行中,更正")}"为")}"。

  var walletCheck = $('#wallet').val();
  var reg = new RegExp("^[13][a-km-zA-HJ-NP-Z1-9]{25,34}$");
  $('#button1').click(function() {
  	if ((reg.test(walletCheck)) === false) {
  		alert("Inalid Address");
    } else {
     	alert("Valid Address");
     }
  });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<input type="form" id="wallet" 
       maxlength="34" 
       pattern="^[13][a-km-zA-HJ-NP-Z1-9]{25,34}$" 
			 placeholder="Your Bitcoin wallet's address"></input><br><br>
      <button id="button1">Click for a quote!</button>

检查此 plunk 以获取代码的工作版本。

最新更新