怎么用正则表达式限制输入框输入数字的范围(数字范围是50-1000),怎么限制输入框输入的数字是以9506开头的

一共有两个<inputtype="text">,请问一下怎么用正则表达式限制第一个输入框输入数字的范围(比如数字范围是50-1000).还有就是怎么限制第二个输入框输入的... 一共有两个<input type="text" >,请问一下怎么用正则表达式限制第一个输入框输入数字的范围(比如数字范围是50-1000).还有就是怎么限制第二个输入框输入的数字是以9506开头的?求解!!在线等
麻烦各位大神写的全点,我是一点都不会啊。。。
展开
 我来答
maxzhang123
推荐于2018-05-17 · TA获得超过1424个赞
知道小有建树答主
回答量:181
采纳率:0%
帮助的人:218万
展开全部

第一个输入框

<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='';}">
风与雨的故事
2013-12-31 · TA获得超过405个赞
知道小有建树答主
回答量:359
采纳率:80%
帮助的人:244万
展开全部
要用javasript或者vbscript脚本中,写入正则表达式。那个我十几年没玩做网页了,忘记了,我给个放在脚本里的正则表达式给你,脚本模板你网上搜索。
第一个
^\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正则里通过

最好加三个括号
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
千年446
2013-12-31 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:121
采纳率:0%
帮助的人:76.2万
展开全部
完整代码
<!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条件比较简单快速,请参考代码
特此百度了下,正则表达式不擅长数值的比较哦
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
优源小程序
2013-12-31 · 来吧,一起专注小程序开发
优源小程序
采纳数:34 获赞数:45

向TA提问 私信TA
展开全部
调用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;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhanyeting
2013-12-31
知道答主
回答量:30
采纳率:0%
帮助的人:12.6万
展开全部
{50,1000}
"^9506\\d$"
追问
真不好意思 我不大懂这东西 所以麻烦您写一下全面的吧  就是写在 这里面~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式