现在有两个页面,一个index.html<html>
<body>
<script language="JavaScript" src="test.js">
</script> <input type="text" id="username"><input type="button" value="注册" onclick="checkall()">
</body>
</html>
另外个test.jsfunction checkusername(){
var str=document.getElementById("username").value;
var reg=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._-]){4,19}$/;
if(!reg.checkusername(str)){
return false;
}
}function checkall(){
if (checkusername()=false);
{
alert ("用户名错误")
}
}
是这样的,检查表单页面不光有checkusername,还有checkpassword之类的,所以想用checkall来统一管理,可惜好像取不到checkusername的返回值,有啥办法或者思路么。。
<body>
<script language="JavaScript" src="test.js">
</script> <input type="text" id="username"><input type="button" value="注册" onclick="checkall()">
</body>
</html>
另外个test.jsfunction checkusername(){
var str=document.getElementById("username").value;
var reg=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._-]){4,19}$/;
if(!reg.checkusername(str)){
return false;
}
}function checkall(){
if (checkusername()=false);
{
alert ("用户名错误")
}
}
是这样的,检查表单页面不光有checkusername,还有checkpassword之类的,所以想用checkall来统一管理,可惜好像取不到checkusername的返回值,有啥办法或者思路么。。
解决方案 »
- 正则截取url地址
- JS获取客户端IP
- 大虾帮忙啊ognl.InappropriateExpressionException: Inappropriate OGNL expression: 1
- 号称史上最小的javascript的封装库,高效简洁,易用性强,易拓展,大小仅1KB,你没看错,是1KB,不才,由本人原创,提供分享。。。
- 兄弟们谁帮帮我?mootools datepicker日历插件问题
- JavaScript 中RemoveAll 函数的用法问题
- 怎样用JS改变字体大小
- 菜鸟求一验证函数
- 菜鸟伸缩菜单问题,急急急,在线等,顶也有分!
- setInterval 和 setTimeout 有啥不同啊
- 如何把window.open改成window.showModalDialog
- 为什么我这段代码在IE下执行不成功呢?
var str=document.getElementById("username").value;
var reg=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._-]){4,19}$/;
if(!reg.checkusername(str)){
return false;
}
return true;
}
function checkusername(){
var str=document.getElementById("username").value;
var reg=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._-]){4,19}$/;
if(reg.test(str)){
return true;
}
return false;
}
//return function checkall(){
if (!checkusername());
{
alert ("用户名错误")
}
}
if (checkusername()==false);
楼主,你写错代码了。是 == ,不是 =
正确如下:if (checkusername() == false);//注意,是 == 两个。一个 = 号,表示赋值!!!
{
alert ("用户名错误")
}
if(!reg.checkusername(str)){
return false;
}
上面的代码不是reg.test()?
var str=document.getElementById("username").value;
var reg=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._-]){4,19}$/;
if(!reg.test(str)){
return false;
}
return true;
}
啥意思?为啥要是reg.test()?
function checkall(){
if (checkusername()=false);//看看这里。楼主,怎么多出一个 ; 分号来!!!去掉
{
alert ("用户名错误")
}
}代码如下function checkall(){
if (!checkusername()) //这里去掉了分号
{
alert ("用户名错误")
}
}
function checkusername(){
var str=document.getElementById("username").value;
var reg=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._-]){4,19}$/;
if(str.match (reg )==null ){
return false;
}
}function checkall(){
if (checkusername()==false);
{
alert ("用户名错误")
}
}
本机测试通过!
请去看看js的正则表达式的应用。你就明白了。不仅仅有test(),还有好多正则表达式方法,很有用的。
test 方法
返回一个 Boolean 值,它指出在被查找的字符串中是否存在模式。rgexp.test(str) match 方法
使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回。stringObj.match(rgExp)
如果 match 方法没有找到匹配,返回 null。如果找到匹配返回一个数组并且更新全局 RegExp 对象的属性以反映匹配结果。
我说明一下:上面的代码,正则那块我没看,我想你能写js,起码那个正则应该是从网上抄来的,应该可以用。所以没看见那个BUG。你居然不知道正则表达式里面的test()。那么match()呢?search()呢?
其次,你的代码function checkall(){
if (checkusername()=false);//这里的分号 ; ,你让大家说说,你的这个if写的对么?(先不说你写了一个等号 = ,就是你写了两个等号 == ,你这里也是错误的。你这里的分号 ; 代表一个js语句的解释完毕。你一定会说,它也执行了后面大括号里面的 alert ("用户名错误") 啊?! 是的。是执行了。你可以试试,把你的if语句去掉,只剩下大括号里面的 alert ("用户名错误") ,你看看执行不?
说我瞎搞,自己先搞好了,再说我好么?
{
alert ("用户名错误")
}
}