我有一个带有占位符的输入字段。
<input id="showInfo" type="text" placeholder="Search product" />
我允许通过代码搜索产品。每个产品都以 S
开头。示例:S12548、S25487、S87425
当 keypress()
函数被触发时,如何确保第一个字符是 S
?
$('#search').keypress(function(e){
});
最佳答案
您可以使用indexOf()
来检查输入字符串的第一个字符是s
还是S
。
$('#search').keypress(function (e) {
var text = $(this).val().trim();
if (text.indexOf('S') === 0 || text.indexOf('s') === 0) {
// Valid
} else {
// Invalid, then add a at the start
$(this).val('S' + text);
}
});
演示使用正则表达式。
您还可以使用正则表达式来检查字符串是否以 s/S
开头
$('#search').keyup(function(e) {
var text = $(this).val().trim();
$(this).toggleClass('error', !/^s/i.test(text));
});
.error {
border: solid 1px red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<input type="text" id="search" />
您还可以使用regex
来检查文本是否以s
开头。
if (/^s/i.test(text)) {
// Valid
关于javascript - 指定输入字段中的第一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32180542/