<script language="JavaScript">
<!--
function isID(id)
{
var str = id;
var areg = /^[a-zA-Z—_]+([a-zA-Z—_]|\d)*$/;
if (areg.test(str))
{
return true;
}
else
{
return false;
}}alert(isID("35_sdf"));
alert(isID("_sdDF3456f"));
//-->
</script>

解决方案 »

  1.   

    我觉得好像“ID合法性验证”这块写错了,应该是“var areg = /\w/;”,这样才可以“匹配包括下划线的任何单词字符”。你说的“var areg = /\W*/;”是什么意思啊?这个对应的是可以匹配“中文、英文(大小写均可)、数字和下划线”吗?
      

  2.   

    ttyp(愿赌服输) :为什么要写得这么复杂,areg = /\w/这个不可以吗
      

  3.   

    >>只能输入中文、英文(大小写均可)、数字和下划线^[_0-9a-zA-Z\u4e00-\u9fa5]+$
      

  4.   

    var areg = /^[a-zA-Z_\u4e00-\u9fa5]+[a-zA-Z0-9_\u4e00-\u9fa5]*$/;加上中文因为开始不能是数字,\w只匹配一个字符
    \w 等价 [A-Za-z0-9_]
      

  5.   

    还有个问题,“//ID合法性验证,只能由字母、数字和下划线组成”这个没问题,已经对了。中文这个还有问题,我发现如果名字中有~!@#$%^&*|?等符号也可以通过,是否有办法去除这些符号。就是有这些符号的名字也不行。谢谢。
      

  6.   

    <script language="JavaScript">
    <!--
    function isID(id)
    {
    var str = id;
    var areg = /^[a-zA-Z_\u4e00-\u9fa5]+[a-zA-Z0-9_\u4e00-\u9fa5]*$/;
    if (areg.test(str))
    {
    return true;
    }
    else
    {
    return false;
    }}alert(isID("35_sdf"));
    alert(isID("~!@#$%^&*|?"));
    //-->
    </script>//没通过啊
      

  7.   

    /^[a-z\u4e00-\u9fa5][\w\u4e00-\u9fa5]*$/i