var re=/^[A-Za-z]\w*$/
if (re.test("你的字符串或变量")==false) alert('字符串非法');
===================================
实例<script language=javascript>
var str='';
</script><input type=text size=20 onselectstart="return false" onpaste="return false" onpropertychange="if (this.value!='' && /^[A-Za-z]\w*$/.test(this.value)==false) this.value=str; else str=this.value;">onselectstart="return false"  禁止复制
onpaste="return false"  禁止粘贴
用了上面的代码,即使打开输入法,都是无法输入中文的,输入非法字符同样无效

解决方案 »

  1.   

    只能是 数字,字母,下划线,横杠,怎么写?
    /[\w\-]+/或者/[A-Za-z0-9_-]+/'
      

  2.   

    呵呵,两者结合起来就可以了
    smallyear(颠狂柳絮) 的没有屏蔽特殊字符的输入
    mjpclab(http://mjpclab.8u8.com) 的比较完整但不能以下划线开始,下划线应该是允许的
    综合一下应为:
    <input type=text size=20 onselectstart="return false" onpaste="return false" onpropertychange="if (this.value!='' && /^[^0-9]\w*$/.test(this.value)==false) this.value=str; else str=this.value;">