如何验证给定单词中的文本

时间:2016-09-06 04:34:22

标签: jquery

如何检查文本是否以ABCxx或ABCxxxx开头返回true。尝试使用contains或attribue值,但都返回true

<input id="uxPromoCode" name="uxPromoCode" value="" class="form-input">

if("#uxPromoCode:contains('ABC')" ){ // $("#uxPromoCode[value^='ABC']")
    Dialog.msg({
        title: Message.dlg.title4, 
        msg: 'TRUE CODE', 
    });
}else{
    Dialog.msg({
        title: Message.dlg.title4, 
        msg: 'FALSE CODE', 
    });
}

示例:

ABCJ8   -true
ABCJ89K -true
ABCKL   -true
KLHXN   -false
C7HKLOJ -false

3 个答案:

答案 0 :(得分:2)

$("#uxPromoCode").val()下方会在文本框中显示值,indexOf()函数会检查字符串 ABC 是否出现在文本框值的任何位置。

if($("#uxPromoCode").val().indexOf("ABC") != -1 ){ 
    Dialog.msg({
        title: Message.dlg.title4, 
        msg: 'TRUE CODE', 
    });
}else{
    Dialog.msg({
        title: Message.dlg.title4, 
        msg: 'FALSE CODE', 
    });
}

检查字符串的开头是 ABC 使用匹配正则表达式函数。字符 ^ 表示检查文本框中包含的字符串

if($("#uxPromoCode").val().match("^ABC")){ 
    Dialog.msg({
        title: Message.dlg.title4, 
        msg: 'TRUE CODE', 
    });
}else{
    Dialog.msg({
        title: Message.dlg.title4, 
        msg: 'FALSE CODE', 
    });
}

答案 1 :(得分:1)

您可以在这里使用正则表达式.match。您当前实现它的方式有点CSS属性,即使在开始时找到true,也会生成AB。以下是您可以使用.match的代码段

&#13;
&#13;
$('.validate').on('click', function() {
  if ($("#uxPromoCode").val().match('^ABC')){
    /*Dialog.msg({
        title: Message.dlg.title4, 
        msg: 'TRUE CODE', 
    });*/
    console.log(true);
  } else {
    console.log(false);
    /*Dialog.msg({
        title: Message.dlg.title4, 
        msg: 'FALSE CODE', 
    });*/
  }
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="uxPromoCode" name="uxPromoCode" value="" class="form-input"/>
<input type="button" value="Validate" class="validate"/>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

使用JS正则表达式,如:

var haystack = 'hello world';
var needle = 'he';

if (haystack.indexOf(needle) == 0) {
  // your code if string starts with 'he'
} 

Regex Reference