$(document).ready(function(){
$("#name").blur(function(){
var name = $("#name").val();
if ( $(this).val().match('^[a-zA-Z]{3,16}$') )
{
$("#check_name").html("Good Name").hide();
}
else {
$("#check_name").html("That's not a name.");
}
如果错误,则插入值。当我们很快提交form.need帮助时,它不会验证数据。
答案 0 :(得分:1)
您需要在表单上进行实际验证。
添加jquery验证并设置后,可以使用
<form id="myForm">
<input type="submit" value="Send"/>
</form>
<script>
$("#myForm").submit(function(){
$("#myForm").validate();
};
</script>
答案 1 :(得分:0)
尝试使用正则表达式模式/pattern/g
$(this).val().match(/^[a-zA-Z]{3,16}$/g)
而不是
$(this).val().match('^[a-zA-Z]{3,16}$')
它没有验证?
因为您匹配的字符串不是模式
$(document).ready(function(){
$("#name").blur(function(){
var name = $("#name").val();
if ( $(this).val().match(/^[a-zA-Z]{3,16}$/g) )
{
$("#check_name").html("Good Name").hide();
}
else {
$("#check_name").html("That's not a name.");
}
答案 2 :(得分:0)
这将有效:
$(function(){
$("#name").blur(function(e){
var name = $(e.target).val();
if ( name.match('^[a-zA-Z]{3,16}$') ) {
$("#check_name").html("Good Name").hide();
}else {
$("#check_name").html("That's not a name.").show();
}
})
});
如果您还想查看&#34; Good Name&#34;,请删除.hide();)
答案 3 :(得分:0)
使用.test而不是.match来检查是否出现。另外,你的正则表达式是否正确,它会处理每个名字吗?也可以在regex测试器上的某处验证正则表达式。
Https://stackoverflow.com/questions/8606117/javascript-regexp-using-val-match-method