发布网友 发布时间:2024-10-24 14:52
共5个回答
热心网友 时间:2024-11-16 16:32
第一个输入框
<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='';}">热心网友 时间:2024-11-16 16:34
{50,1000}
"^9506\\d$"
热心网友 时间:2024-11-16 16:37
完整代码
<!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条件比较简单快速,请参考代码
特此百度了下,正则表达式不擅长数值的比较哦
热心网友 时间:2024-11-16 16:30
要用javasript或者vbscript脚本中,写入正则表达式。那个我十几年没玩做网页了,忘记了,我给个放在脚本里的正则表达式给你,脚本模板你网上搜索。
第一个
^\d{500-1000}$
第二个
^9506\d+$
热心网友 时间:2024-11-16 16:30
调用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;
}