我想将输入限制为仅限一个字符(R)和仅6个数字... 例如:R123896
如果输入长度增加7,它将删除该数字,如果第一个单词不是R,它应该将该字符替换为" R"
我写过这个剧本,但不知道如何前进并将其塑造成我想要的......
$("#consultationident").keyup(function(key){
var txtVal = $(this).val();
if(isNumber(txtVal) && txtVal.length>6)
{
$(this).val(txtVal.substring(0,6) )
}
});
请帮忙!
答案 0 :(得分:0)
使用regular expression是一个想法...
$("#consultationident").keyup(function(key){
// Uppercase the first character.
var firstChar = $(this).val().substr(0,1).toUpperCase();
var rest = $(this).val().substr(1);
$(this).val( firstChar + rest );
var txtVal = $(this).val();
var pattern = /^(R)(\d{6})$/;
// Check if the value entered fits the pattern.
if(pattern.test(txtVal)){
console.log("Value ok");
}else{
console.log("Value wrong");
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="consultationident">
答案 1 :(得分:0)
这是使用正则表达式验证输入的代码
$("#consultationident").keyup(function(key){
var txtVal = $(this).val();
if(txtVal.length>6)
{
str = $(this).val().substring(0,7);
pattern = /^[a-zA-Z]{1}(\d{6})$/
if(pattern.test(str)) {
str = str.replace(/^[a-zA-Z]/,"R") // Replace any character with "R"
console.log(str);
}
else {
console.log("invalid input");
}
}
});