js脚本判断字符串是否只有字母和数字 5
我是这样写的:<scripttype="text/javascript"charset="UTF-8">functionvalidate_password(field,a...
我是这样写的:
<script type="text/javascript" charset="UTF-8">
function validate_password(field,alerttxt)
{
with (field)
{
var Regx = /(^[A-Za-z0-9]$)/;
if (Regx.test(obj.value)==false)
{alert(alerttxt);return false}
else {return true}
}
}
function check_password(thisform)
{
with (thisform)
{
if (validate_password(password,"密码不合法!")==false)
{password.focus();return false}
if (validate_password(newPassword1,"新密码不合法!")==false)
{newPassword1.focus();return false}
if (validate_password(newPassword2,"新密码不合法!")==false)
{newPassword2.focus();return false}
}
}
</script>
<FORM action="<%=str%>" onsubmit="return check_password(this)" Method="post" >
但是密码还是输入什么都可以...实在不知道为什么了,求助 展开
<script type="text/javascript" charset="UTF-8">
function validate_password(field,alerttxt)
{
with (field)
{
var Regx = /(^[A-Za-z0-9]$)/;
if (Regx.test(obj.value)==false)
{alert(alerttxt);return false}
else {return true}
}
}
function check_password(thisform)
{
with (thisform)
{
if (validate_password(password,"密码不合法!")==false)
{password.focus();return false}
if (validate_password(newPassword1,"新密码不合法!")==false)
{newPassword1.focus();return false}
if (validate_password(newPassword2,"新密码不合法!")==false)
{newPassword2.focus();return false}
}
}
</script>
<FORM action="<%=str%>" onsubmit="return check_password(this)" Method="post" >
但是密码还是输入什么都可以...实在不知道为什么了,求助 展开
5个回答
展开全部
确实楼上所说少了个+,而且不需要写A-Z,直接在后面写I就可以了,忽略大小写。函数的问题我就是感觉你的逻辑都是反的,不应该是先focus,然后输入,blur的时候验证,如果错了就阻止表单提交.....
function check(id,altxt)
{
id.blur(function(
{
if(!Regx.test(id.value))
{
alert(altxt);
return false
}
})
}
function check(id,altxt)
{
id.blur(function(
{
if(!Regx.test(id.value))
{
alert(altxt);
return false
}
})
}
追问
试过带“+”的了还是不行,感觉问题不在这里......我的逻辑是先输入,点击“submit”按钮提交后进行判断,出错的话focus到出错的位置重新输入......这样子的
展开全部
没什么不对的 就是表达式少个+ 号,匹配1次或多次, 你这样写 只能匹配一个字母或者数字
/(^[A-Za-z0-9]+$)/ 这样就行了
/(^[A-Za-z0-9]+$)/ 这样就行了
追问
谢谢你 不过似乎还是不行...我就算只输一个“!”做密码还是能通过
追答
if (Regx.test(obj.value)==false)
obj 是什么? 没有看到定义 ,直接写成value试试
你应该是想取field得value属性 ,使用了with 应该用value直接可以拿到field得value属性
if (Regx.test(value)==false)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if (validate_password(password,"密码不合法!")==false)
改为
if (validate_password(thisform.password,"密码不合法!")==false)
这类的都改过来试试
改为
if (validate_password(thisform.password,"密码不合法!")==false)
这类的都改过来试试
追问
试过了,没有变化的说
追答
validate_password函数也有问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
//只匹配字母、数字
var regExp = /^[a-z0-9]+$/i;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
password 根本就不是一个ELEMENT对象哪有value 得出的是一个undefinde 你去test undefinde当然不是false
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询