<script language=javascript>
var str="asfasfasasf"
re=/(^(?!((@N)|(@I)|(@E))))(.(?!((@N)|(@I)|(@E))))+$/g
alert(re.test(str))
</script>

解决方案 »

  1.   

    <script language=javascript>
    var str="  asfasfasasf "
    re=/(^\s+)|(\s+$)/
    alert(re.test(str))
    </script>
      

  2.   

    to hhhhhhhhhhhhb
    ?!  js 支持吗?
    下面是网上的资料
    1.5.5 前瞻
      运用前瞻可以告诉正则表达式运算器向前看一些字符而不移动其位置,包括正向前瞻和负向前瞻,正向前瞻检查的是接下来出现的是不是某个特定字符集,而负向前瞻则是检查接下来的不应该出现的特定字符集。创建正向前瞻要将模式放在(?=和)之间。创建负向前瞻要将模式放在(?!和)之间。
    注意:Javascrīpt只支持正则表达式的前瞻,而不支持后瞻。
      

  3.   

    支持的,这个资料上的应该是说不能向后看,也就是
    (!(bbb))a的意思吧,
    ?!应该是"负向前瞻则是检查接下来的不应该出现的特定字符集"这句
      

  4.   

    :)楼主的ID如果不是CSDN的亲戚,那应该是用其他语言模拟http头直接send到服务器上插入的,这样跨过了JS的校验,申请ID好久了,忘了CSDN是不是用JS校验的了.
      

  5.   

    @hbhbhbhbhb1021(天外水火(我要多努力)) 第一个正则表达式,如果str="@Nabc",应该是为true,而你的表达式返回的是false
    第二个正则表达式,如果str="asfa sfasasf ",应该是为false,因为是以空格结尾的,而你的表达式返回的是true@wasuka(喋喋不休的食尸鬼) 
    第一个你理解错了我的要求,你是能,我要求的是不能
    第二个和版主有同样的问题谢谢两位!
      

  6.   

    你的写法太复杂了。送你个简单的。/([^@]|@(?!N|I|E))/g
      

  7.   

    我的ID是在CSDN建站初期注册的,当时比较喜欢用中文来注册ID,何况CSDN也允许,只是现在左侧的树状菜单上头的中文显示为乱码,算是个Bug。呵呵。
      

  8.   

    允许@Nabc的话就这样/^([^@]|@(?!(N|I|E)$))/
      

  9.   

    @Gdj(陈水.智商只有129.非卖品)
    您的表达式验证"@N"时返回的是true,预期结果应该是false
      

  10.   

    不包含@N @I @E字串的正则
    /^([^@]|@(?!N|I|E))*$/不等于@N @I @E字串的正则
    /^([^@]|@(?!(N|I|E)$))/
      

  11.   

    @Gdj(陈水.智商只有129.非卖品)
    /^([^@]|@(?!(N|I|E)$))/
    这个表达式验证通过,谢谢!但我还想再问一下各位,这个表达式是否可以直接应用于XML Schema(XSD)中的<xsd:pattern value="……">如果不行的话,应该怎么写?
      

  12.   

    晕啦,刚才没仔细看,原来提了问题了:)
    我的二个是刚好相反的,就是有空格是true,没空格是false,
    第一个也是一样,刚好和楼主相反了.
    这个在test里应该可以做区分了
    Gdj(陈水.智商只有129.非卖品) 的很好,楼主用那个吧
      

  13.   

    @hbhbhbhbhb1021(天外水火(我要多努力)) 有关第二个正则,能不能使用这个?/^\S+.*\S+$/另外,我最终是要应用于XSD,所以写在<xsd:pattern value="……">里的只能是/^  $/里的那部分。谢谢两位的帮助!等版主回复后结贴送分!
      

  14.   

    /^\S+.*\S+$/
    这个+有些多余,可以去掉
    并且有几个问题
    第一不能有一个字符
    第二中间不能回车换行等格式符
    可以测测这个
    /^\S([\s\S]*\S)?$/