我正在尝试使用以下代码验证输入文本字段,但是当我键入任何字母时,它会引发其他字符,但我希望它允许任何字母,但不能以数字开头
<div class="input-group">
<label for="c_name">Cashier Name
<input id="c_name" type="text" name="cashier_name">
</label>
</div>
$(document).ready(function(){
$( "#c_name" ).keyup(function() {
var data= /^[A-Za-z]+$/;
if ($("#c_name").val() == data) {
$(this).addClass("cash");
$(this).removeClass("cashs");
}else{
$(this).addClass("cashs");
$(this).removeClass("cash");
}
});
}); ```
I expect it to add a class cash if it begins with a letter.
答案 0 :(得分:1)
data
是RexExp。要检查字符串是否与正则表达式匹配,应使用RegExp.prototype.test
if (data.test($("#c_name").val()))
$(document).ready(function(){
$( "#c_name" ).keyup(function() {
var regex = /^[A-Za-z]+$/;
if (regex.test($("#c_name").val())) {
$(this).addClass("cash");
$(this).removeClass("cashs");
} else {
$(this).addClass("cashs");
$(this).removeClass("cash");
}
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="input-group">
<label for="c_name">Cashier Name
<input id="c_name" type="text" name="cashier_name">
</label>
</div>