怎么用正则表达式限制输入框输入数字的范围(数字范围是50-1000),怎么限制输入框输入的数字是以9506开头的
一共有两个<inputtype="text">,请问一下怎么用正则表达式限制第一个输入框输入数字的范围(比如数字范围是50-1000).还有就是怎么限制第二个输入框输入的...
一共有两个<input type="text" >,请问一下怎么用正则表达式限制第一个输入框输入数字的范围(比如数字范围是50-1000).还有就是怎么限制第二个输入框输入的数字是以9506开头的?求解!!在线等
麻烦各位大神写的全点,我是一点都不会啊。。。 展开
麻烦各位大神写的全点,我是一点都不会啊。。。 展开
5个回答
展开全部
第一个输入框
<input type="text" onkeyup="var v=this.value||'';v=v.replace(/[^\d]/g,'');v=parseInt(v,10);if(v<50){this.value=50;}else if(v>1000){this.value=1000;}">
第二个输入框
<input type="text" onkeyup="var v=this.value||'';if(v.length>4&&!/^9506/.test(v)){this.value='';}">
展开全部
要用javasript或者vbscript脚本中,写入正则表达式。那个我十几年没玩做网页了,忘记了,我给个放在脚本里的正则表达式给你,脚本模板你网上搜索。
第一个
^\d{500-1000}$
第二个
^9506\d+$
第一个
^\d{500-1000}$
第二个
^9506\d+$
追问
这东西不能直接写进里吗
追答
第一个^\d{500-1000}$
我犯了低级语法错误,
后面改正表达式测试通过,这几天太累了,没在意细节!
我只会正则,其它的忘记了,对javascript编程了解不多,单能看懂,但在标签里怎么用,我以前没弄个。随便打开个网页看原代码吧,我用的手机,看不了别人的代码。
这东西不能直接写进
html本身不支持正则表达式,只有vb和js脚本支持正则。不能直接写入,写入也不认,只有通过脚本改input的值,对了,就用js或者vb改写ipput里面代表值的变量就行。这个你应该懂,
不好意思,我用手机,不好打字,笔误,误导了你们。第一个
^\d{500-1000}$给表达式也没注意看,{500-1000}在这里是个十分严重的语法错误。
我给个正确的表达式
晚上我上机再给你测试,后面说的那个兄弟说正则表达式无能为力,我不赞同。
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
这里是正确的表达式:
保险期间我多加三个括号,只加一个也行,有时会出错。
(([5-9]\d{2})|(1000)
就这样,不好意思,误导了几位了,我犯了低级错误
不保险就用,少了括号在有的正则表达式语言里面可能会执行错误
([5-9]\d{2}|1000)
上面两个表达式都在js vb正则里通过
最好加三个括号
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
完整代码
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<SCRIPT type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></SCRIPT>
<script>
$(function(){
$('#one').blur(function(){
var v1=$('#one').val();
if(v1>50 && v1<1000){
alert("合法")
}else{
alert("数字范围必须为为50-1000")
}
});
$('#two').blur(function(){
var patt=/^9506/;
var v2=$('#two').val();
if(patt.test(v2)){
alert("合法")
}else{
alert("数字范围必须以9506开头")
}
});
});
</script>
</head>
<body>
数字范围为50-1000<input type='text' id='one' /> <br>
9506开头<input type='text' id='two' />
</body>
</html>
值得一提的是,对于第一题范围50-1000,正则表达比较无力,用了下面几个哥们的表达式不对,直接用if条件比较简单快速,请参考代码
特此百度了下,正则表达式不擅长数值的比较哦
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<SCRIPT type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></SCRIPT>
<script>
$(function(){
$('#one').blur(function(){
var v1=$('#one').val();
if(v1>50 && v1<1000){
alert("合法")
}else{
alert("数字范围必须为为50-1000")
}
});
$('#two').blur(function(){
var patt=/^9506/;
var v2=$('#two').val();
if(patt.test(v2)){
alert("合法")
}else{
alert("数字范围必须以9506开头")
}
});
});
</script>
</head>
<body>
数字范围为50-1000<input type='text' id='one' /> <br>
9506开头<input type='text' id='two' />
</body>
</html>
值得一提的是,对于第一题范围50-1000,正则表达比较无力,用了下面几个哥们的表达式不对,直接用if条件比较简单快速,请参考代码
特此百度了下,正则表达式不擅长数值的比较哦
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
调用js代码不用教吧
50-10000
function isint1(str)
{
var result=str.match(/^[0-9]$|^([1-9])([0-9]){0,3}$|([50-10000])$/);
if(result==null) return false;
return true;
}
function check(str)
{
var result=str.match(/^9056\d+/);
if(result==null) return false;
return true;
}
50-10000
function isint1(str)
{
var result=str.match(/^[0-9]$|^([1-9])([0-9]){0,3}$|([50-10000])$/);
if(result==null) return false;
return true;
}
function check(str)
{
var result=str.match(/^9056\d+/);
if(result==null) return false;
return true;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
{50,1000}
"^9506\\d$"
"^9506\\d$"
追问
真不好意思 我不大懂这东西 所以麻烦您写一下全面的吧 就是写在 这里面~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询