*从技术上讲,它实际上是正确的语法,但对于完全不同的东西:它会查找变量a和z,减去它们,并将结果用于单个元素数组文字,这不会给出预期的结果。
这是我的html按钮代码
<div class="form-group">
<label>Name</label>
<input type="text" class="form-control" name="name" />
<div class="help-block with-errors" style="font-size:12pt">Input Only Alphabet</div>
</div>
<input class="btn btn-primary" type="submit" value="SUBMIT" id="button1 style="height:50px; width:100px" />
这是我的jQuery
<script type="text/javascript">
$("#button1").click(function(){
if($("#name").val() == null)
alert("haha");
if($("#name").val() == [a-z])
alert("zzzz");
});
</script>
我的问题是我只能验证第一个条件。每次我尝试第二种条件都不会奏效。有人可以帮我看看我的问题是什么??
这是无效语法*:
if($("#name").val() == [a-z])
你可以用正则表达式做你想做的事:
if($("#name").val().test(/^[a-z]$/))
额外的^
和$
要求元素的值仅为一个字符,前后都没有
其次,您的input
没有id
属性,因此jQuery将找不到任何具有$("#name")
的属性。要使其工作,您的输入元素必须具有id="name"
:
<input type="text" class="form-control" name="name" id="name"/>
^^
*从技术上讲,它实际上是正确的语法,但对于完全不同的东西:它会查找变量a和z,减去它们,并将结果用于单个元素数组文字,这不会给出预期的结果。