1
我想知道这里似乎是什么问题。正则表达式只能作为事件的按键
$("#city_field").bind({
keypress: function(event){
var regex = /^[a-zA-ZäöüÄÖÜ]/;
if (regex.test($("#city_field").val())==true) {
$('.r_validation').html('').css('background-color', '');
} else {
$('.validation').html("TEST").css('background-color', 'red');
}
}
});
每当我输入字母它是有效的,当我输入数字,然后会出现红色的确认通知。一切都很好,直到我在信件后面输入数字。下面列出的是无效的,但在我当前的脚本它被视为有效:
- foo1212
- 富,
- 富, [用逗号后的空间]
我真正想要验证的是只接受字母和短划线( - ),除此之外别无其他。
谢谢。
编辑
为了记录在案,@Adam Rackis的最后意见解决这个问题,我结束了这个工作的代码。
$(function(){
$("#city_field").bind("keyup",
function(event) {
var regex = /^[a-zA-ZäöüÄÖÜ]+$/;
if (regex.test($("#city_field").val())==true) {
$('.validation').html('').css('background-color', '');
} else {
$('.validation').html("TEST").css('background-color', 'red');
}
});
});
感谢您的快速回复,但是当我使用这个字符串不会验证每当我只输入一个字符。验证似乎只在第二个字符的输入时被解雇。 – 2012-01-13 05:42:07
一个字符适合我http://jsfiddle.net/653Lu/1/ – 2012-01-13 05:44:55
对不起,我甚至在刷新浏览器之前评论过。没有注意到你编辑的答案。你现在发布的第二个正则表达式现在适用于我的第一个评论问题,但是当我按照以下顺序输入时:输入1(无效),[退格]输入一个(仍然无效,但现在应该更改为有效)。这是为什么? – 2012-01-13 05:46:38