如何检查文本是否以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 :(得分: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
的代码段
$('.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;
答案 2 :(得分:0)
使用JS正则表达式,如:
var haystack = 'hello world';
var needle = 'he';
if (haystack.indexOf(needle) == 0) {
// your code if string starts with 'he'
}