Javascript Jquery-需要使用所选单词验证文本字段

Javascript Jquery-需要使用所选单词验证文本字段,javascript,jquery,jquery-selectors,Javascript,Jquery,Jquery Selectors,我需要使用以下值验证输入文本文件,“PO-BOX”、POBOX、“GPO-BOX”和“GPOX” 如果有人在文本框中输入这些文字,请提醒他们“我们不会将产品发送到邮箱地址”。 并删除整个文本 我在下面建了一个 $('#objCheckoutRegistration_PhysicalAddress_txtdressline1').blur(函数(){ alert('We do not ship products to PO Box addresses');

我需要使用以下值验证输入文本文件,
“PO-BOX”、POBOX、“GPO-BOX”
“GPOX”

如果有人在文本框中输入这些文字,请提醒他们“我们不会将产品发送到邮箱地址”。 并删除整个文本

我在下面建了一个

$('#objCheckoutRegistration_PhysicalAddress_txtdressline1').blur(函数(){

          alert('We do not ship products to PO Box addresses');
          $('#objCheckoutRegistration_PhysicalAddress_txtAddressLine1').val('');
          $('#objCheckoutRegistration_PhysicalAddress_txtAddressLine1').focus();
      }

  });     });
$('objCheckoutRegistration\u PhysicalAddress\u txtdressline1').val() ==$('objCheckoutRegistration\u PhysicalAddress\u txtAddressLine1').val().match('PO 框中“,
$('objCheckoutRegistration\u PhysicalAddress\u txtdressline1').val() ==$('objCheckoutRegistration\u PhysicalAddress\u txtAddressLine1').val().match('POBOX'), $('objCheckoutRegistration\u PhysicalAddress\u txtdressline1').val() ==$('objCheckoutRegistration\u PhysicalAddress\u txtAddressLine1').val().match('GPO 方框“)

$('objCheckoutRegistration\u PhysicalAddress\u txtdressline1').val() ==$('objCheckoutRegistration\u PhysicalAddress\u txtAddressLine1').val().match('GPOX')

$('objCheckoutRegistration\u PhysicalAddress\u txtdressline1').val() ==$('objCheckoutRegistration\u PhysicalAddress\u txtAddressLine1').val().match('po 方框“)

$('objCheckoutRegistration\u PhysicalAddress\u txtdressline1').val() ==$('objCheckoutRegistration\u PhysicalAddress\u txtAddressLine1').val().match('pobox')

$('objCheckoutRegistration\u PhysicalAddress\u txtdressline1').val() ==$('objCheckoutRegistration\u PhysicalAddress\u txtAddressLine1').val().match('gpo 方框“)

$('objCheckoutRegistration\u PhysicalAddress\u txtdressline1').val() ==$('objCheckoutRegistration\u PhysicalAddress\u txtAddressLine1').val().match('gpox') {

          alert('We do not ship products to PO Box addresses');
          $('#objCheckoutRegistration_PhysicalAddress_txtAddressLine1').val('');
          $('#objCheckoutRegistration_PhysicalAddress_txtAddressLine1').focus();
      }

  });     });
但问题是它只是验证了确切的词


我的意思是,如果添加PO-BOX 1145和其他一些文本,它将无法验证。

尝试使用正则表达式。我不是正则表达式大师,但您只需要查找字符串中有“PO”后跟“BOX”的文本

所以,这应该可以做到

var regex = new RegExp("PO");
var match = regex.exec($('#objCheckoutRegistration_PhysicalAddress_txtAddressLine1').val());
if (match != null)
{
    alert('We do not ship products to PO Box addresses');
    $('#objCheckoutRegistration_PhysicalAddress_txtAddressLine1').val('');
    $('#objCheckoutRegistration_PhysicalAddress_txtAddressLine1').focus();
}

试着写一个正则表达式。这在你的情况下是可行的

var str=“GPO 123”

var patt=/PO/g;

var result=patt.test(str);//返回true或false


document.write(“返回值:+result”);
您可以使用String.indexOf(…)函数检查包含内容

var input = $('#objCheckoutRegistration_PhysicalAddress_txtAddressLine1');
var inputValue = input.val().toUpperCase();

var poBoxIdentifiers = ['PO BOX', 'POBOX', 'GPOX'];

for(var i = 0; i < poBoxIdentifiers.length; i++) {
    if (inputValue.indexOf(poBoxIdentifiers[i]) !== -1) {
        alert('We don\'t ship to...');
        input.val('').focus();
    }
}
var输入=$('objCheckoutRegistration\u PhysicalAddress\u txtdressline1');
var inputValue=input.val().toUpperCase();
var poBoxIdentifiers=['PO-BOX','POBOX','GPOX'];
对于(var i=0;i
您的问题是将匹配结果与原始值进行比较。 如果您更改了以下行: $('objCheckoutRegistration\u PhysicalAddress\u txtAddressLine1').val()==$('objCheckoutRegistration\u PhysicalAddress\u txtAddressLine1').val().match('GPO框')

致:

$('#objCheckoutRegistration_PhysicalAddress_txtdressline1').val().match('GPO框')

它会很好用的。 当然,您可以使用正则表达式匹配和分组来进行一行验证,但当前的方法可以


(:Y.

当我测试您的示例时,它确实通过邮政信箱1145进行了验证。非常感谢您的快速响应。非常感谢您的快速响应。您可以在jQuery中将内容链接在一起,这样您就可以执行$('…).val('')。focus()非常感谢您的快速响应