所以,我有一个默认值为“www.mysite.com/users/”的输入框,此后用户应该可以为自己定义一个简短的URL,例如:“mike”。
现在,我想只允许az和AZ作为短网址,我想现场检查用户输入并阻止他们使用其他字符作为&amp;%!“£...,这是我的代码:< / p>
<input type="text" id="short_url" value="www.mysite.com/users/" />
<script>
('#short_url').on('keypress', function(){
var short_url = $(this).val();
if(short_url.substr(0, 21) != 'www.mysite.com/users/'){
$(this).val('www.mysite.com/users/');
}else{
// Only allow a-z
short_url = short_url.substr(21);
var RegEx = /^[a-z0-9]$/;
if(!RegEx.test(short_url)) {
if(short_url != '')
return false;
}
}
});
</script>
我在上面的代码中尝试的是,不要让用户清除我的site.com,因此他必须在默认值之后添加他的短网址,并且只允许输入RegEx,但它不起作用。我该如何实现呢?
另一件事是,我也想在短网址中允许点,但只需1点!
提前致谢
答案 0 :(得分:1)
由于您的基本网址永远不会改变...为什么不在输入字段之前创建静态文本。它将大大简化您的代码。
<span>www.mysite.com/users/</span>
<input id="short_url" type="text" />
然后一个小jQuery来处理验证
(function(){
var shortUrlRegexp = /^[a-zA-Z]*(\.{1}[a-zA-Z]*)?$/;
$("#short_url").on("keyup", function(){
var text = $(this).val();
var isMatch = shortUrlRegexp.test(text);
$(this).toggleClass("invalid", !isMatch);
});
}());
这是live demo。
答案 1 :(得分:0)
这将允许字母数字+一.
。必须以字母数字字符
^[a-z0-9]+\.?[a-z0-9]+$