高分求正则表达式!!解决后立即给分。

jeanxing 2004-11-22 10:30:26
要求,只能输入中文、英文(大小写均可)、数字和下划线。
希望采取这种方式:

//ID合法性验证,只能由字母、数字和下划线组成
function isID(id)
{
var str = new String( id );
var areg = /\W/;
if(str != "")
{
if (areg.test(str))
{
return false;
}
}
return true;
}

我就只是想替换一下areg这个就ok。

另,我上面这个验证写对了的吗?

解决后立即给分。
...全文
117 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
jeanxing 2004-11-22
  • 打赏
  • 举报
回复
后面那个问题是我自己程序的问题。与正则表达式无关。

谢谢大家帮忙了。结贴了!

meizz 2004-11-22
  • 打赏
  • 举报
回复
/^[a-z\u4e00-\u9fa5][\w\u4e00-\u9fa5]*$/i
ttyp 2004-11-22
  • 打赏
  • 举报
回复
<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>

//没通过啊
jeanxing 2004-11-22
  • 打赏
  • 举报
回复
还有个问题,“//ID合法性验证,只能由字母、数字和下划线组成”这个没问题,已经对了。

中文这个还有问题,我发现如果名字中有~!@#$%^&*|?等符号也可以通过,是否有办法去除这些符号。就是有这些符号的名字也不行。

谢谢。
jeanxing 2004-11-22
  • 打赏
  • 举报
回复
谢谢,了解了。我测试一下,如果对了,马上给分。
ttyp 2004-11-22
  • 打赏
  • 举报
回复
var areg = /^[a-zA-Z_\u4e00-\u9fa5]+[a-zA-Z0-9_\u4e00-\u9fa5]*$/;

加上中文

因为开始不能是数字,\w只匹配一个字符
\w 等价 [A-Za-z0-9_]
saucer 2004-11-22
  • 打赏
  • 举报
回复
>>只能输入中文、英文(大小写均可)、数字和下划线

^[_0-9a-zA-Z\u4e00-\u9fa5]+$
jeanxing 2004-11-22
  • 打赏
  • 举报
回复
ttyp(愿赌服输) :为什么要写得这么复杂,areg = /\w/这个不可以吗
jeanxing 2004-11-22
  • 打赏
  • 举报
回复
我觉得好像“ID合法性验证”这块写错了,应该是“var areg = /\w/;”,这样才可以“匹配包括下划线的任何单词字符”。

你说的“var areg = /\W*/;”是什么意思啊?这个对应的是可以匹配“中文、英文(大小写均可)、数字和下划线”吗?
ttyp 2004-11-22
  • 打赏
  • 举报
回复
<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>
patchclass 2004-11-22
  • 打赏
  • 举报
回复
var areg = /\W*/;

87,904

社区成员

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

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