这个正则错在哪里?

狄默默斯基 2012-01-13 09:05:45
<script>
function check()
{
var tt=document.getElementById('tt');
//if(isNaN(tt.value))
var reg=/^[A-Za-z]+$/;
var str=new RegExp(tt.value);
if(str.test(reg))
{
alert('非法字符');
tt.value='';
}
}
</script>
<input id="tt" onkeyup="check()">

现象是只能输入第一次a,z时触发,再输入就没用了
...全文
78 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
p2227 2012-01-13
  • 打赏
  • 举报
回复
你或者用一个正则去test一个string
或者用一个string去match一个正则
混用就不行了http://www.w3school.com.cn/js/jsref_match.asp
http://www.w3school.com.cn/js/jsref_test_regexp.asp
狄默默斯基 2012-01-13
  • 打赏
  • 举报
回复
只能输入1234567等数字,,不能有1个字符。。且正则表达式中最好不要出现\d,实在不行就出现吧
sk_up_dyy 2012-01-13
  • 打赏
  • 举报
回复
var tt=document.getElementById('tt');
if(new RegExp("^[A-Za-z]+$").test(tt.value)){
alert('非法字符');
tt.value=''
}
任第一 2012-01-13
  • 打赏
  • 举报
回复
var reg=/^[A-Za-z]+$/;

这个本来就是声明一个正则对象

reg.test(tt.value)
狄默默斯基 2012-01-13
  • 打赏
  • 举报
回复
用RegExp
tzg157 2012-01-13
  • 打赏
  • 举报
回复

<script>
function check()
{
var tt=document.getElementById('tt');
//if(isNaN(tt.value))
var reg=/^[A-Za-z]+$/;
if(reg.test(tt.value))
{
alert('非法字符');
tt.value='';
}
}
</script>
<input id="tt" onkeyup="check()">
sk_up_dyy 2012-01-13
  • 打赏
  • 举报
回复
var reg=/^[A-Za-z]+$/;
var tt=document.getElementById('tt');
if(reg.test(tt.value)){
alert('非法字符');
tt.value=''
}

87,902

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧