Как проверить, начинается ли текст с 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
0
user3064132 6 Сен 2016 в 07:34

2 ответа

Лучший ответ

Здесь вы можете использовать .match с регулярным выражением. То, как вы сейчас его реализуете, - это своего рода атрибут CSS, и он приводит к true, даже если он находит AB в начале. Ниже приведен фрагмент, как можно использовать .match

$('.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', 
    });*/
  }
});
<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"/>
1
Guruprasad J Rao 6 Сен 2016 в 04:50

Ниже $("#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', 
    });
}
2
Mudassir Hasan 6 Сен 2016 в 04:52