Ⅰ js验证如何限制文本框只能输入数字
js进行数据校验使用正则表达式会简单很多,如下所示:
1.js验证只能输入数字:
具体代码如下:
function check_validate(value){
var reg = /^(/d{3,4})-(/d{7,8})/;
if( value.constructor === String ){ // 判断传入的是否是字符串
var re = value.match( reg );
return true;
}
return false;
}
Ⅱ 这个网页用js写个验证,验证文本框,为空的话,跳提示框。怎么写!!
function Check(){
if(document.getElementById("mobile").value==''){
alert('请填写手机号');}
}
mobile:手机输入框的id
当你点击保存或者开通时执行验证 Check()
Ⅲ js各种验证文本框输入格式(正则表达式)
不能为空
<input
onblur="if(this.value.replace(/^
+|
+$/g,'')=='')alert('不能为空!')">
只能输入英文和数字
<input
onblur="if(/[^0-9a-zA-Z]/g.test(value))alert('有错')">
<input
onkeyup="value=value.replace(/[^0-9a-zA-Z]/g,'')"/>
<input
type="text"
onkeyup="value=value.replace(/[^\a-\z\A-\Z0-9]/g,'')">
判断字符由字母和数字,下划线,点号组成.且开头的只能是下划线和字母
/^([a-zA-z_]{1})([\w]*)$/g.test(str)
只能输入数字
<input
name="text"
type="text"
id="NewPage"
onKeyUp="value=value.replace(/\D/g,'')"
onafterpaste="value=value.replace(/\D/g,'')"
>
只能输入中文
<input
type="text"
onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')">
只能输入英文
<input
type="text"
onkeyup="value=value.replace(/[^\a-\z\A-\Z]/g,'')">
<input
type="text"
onkeyup="value=value.replace(/[^a-zA-Z]/g,'')">
只能输入中文、英文、数字、@符号和.符号
<input
type="text"
onkeyup="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\@\.]/g,'')">
只允许输入英文,且不能粘贴也无法弹出粘贴菜单
<input
type="text"
onkeyup="value=value.replace(/[^\a-\z\A-\Z]/g,'')"
onkeydown="fncKeyStop(event)"
onpaste="return
false"
oncontextmenu
=
"return
false"/>
只能输入数字和点号(注意:在[^\d\.]里的d不能写成大写D,否则就变成除了数字以外的所有字符)
<input
name="price"
type="text"
size="8"
maxlength="8"
onkeyup="value=value.replace(/[^\d\.]/g,'')"
>
总而言之:先在<input>里输入onkeyup="value=value.replace(/[^\X]/g,'')"
然后在(/[\X]/g,'')里的X换成你想输入的代码就可以了
中文:u4E00-u9FA5
数字:d、0-9
英文:a-z、A-Z
其它符号@,点或其它符号.也可以多个,用\隔开就行了.
例如:
中、英文和数字加@符号加点符号:\a-\z\A-\Z0-9\u4E00-\u9FA5\@\.
若想在文本框里不能右键弹出菜单和不能粘贴进复制的信息的话就要在<input>里输入
onKeyDown="fncKeyStop(event)"
onpaste="return
false"
oncontextmenu="return
false;"
Ⅳ js文本框验证
下面是一个验证18位号码的完整HTML代码,你直接复制回去在一个新HTML文档中就可以试验。
当用户录入完后,光标离开文本框便开始验证,也就是onBlur事件,你可以根据你自己不同的需要来改变它
<!doctypehtml>
<htmllang="zh">
<head>
<metacharset="UTF-8">
<title>身份证号码校验</title>
</head>
<body>
<inputtype="text,"onBlur="IdCardValidate(this)">
<scripttype="text/javascript">
varWi=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1]; //加权因子
varValideCode=[1,0,10,9,8,7,6,5,4,3,2]; //身份证验证位值.10代表X
functionIdCardValidate(th){
varidCard=th.value;
idCard=trim(idCard.replace(//g,"")); //去掉字符串头尾空格
if(idCard.length==15){
(idCard); //进行15位身份证的验证
}elseif(idCard.length==18){
vara_idCard=idCard.split(""); //得到身份证数组
if(isValidityBrithBy18IdCard(idCard)&&isTrueValidateCodeBy18IdCard(a_idCard)){//进行18位身份证的基本验证和第18位的验证
th.style.backgroundColor="green";
}else{
th.style.backgroundColor="red";
}
}else{
th.style.backgroundColor="red";
}
}
/**
*判断身份证号码为18位时最后的验证位是否正确
*@parama_idCard身份证号码数组
*@return
*/
(a_idCard){
varsum=0; //声明加权求和变量
if(a_idCard[17].toLowerCase()=='x'){
a_idCard[17]=10; //将最后位为x的验证码替换为10方便后续操作
}
for(vari=0;i<17;i++){
sum+=Wi[i]*a_idCard[i]; //加权求和
}
valCodePosition=sum%11; //得到验证码所位置
if(a_idCard[17]==ValideCode[valCodePosition]){
returntrue;
}else{
returnfalse;
}
}
/**
*验证18位数身份证号码中的生日是否是有效生日
*@paramidCard18位书身份证字符串
*@return
*/
(idCard18){
varyear=idCard18.substring(6,10);
varmonth=idCard18.substring(10,12);
varday=idCard18.substring(12,14);
vartemp_date=newDate(year,parseFloat(month)-1,parseFloat(day));
//这里用getFullYear()获取年份,避免千年虫问题
if(temp_date.getFullYear()!=parseFloat(year)
||temp_date.getMonth()!=parseFloat(month)-1
||temp_date.getDate()!=parseFloat(day)){
returnfalse;
}else{
returntrue;
}
}
/**
*验证15位数身份证号码中的生日是否是有效生日
*@paramidCard1515位书身份证字符串
*@return
*/
(idCard15){
varyear=idCard15.substring(6,8);
varmonth=idCard15.substring(8,10);
varday=idCard15.substring(10,12);
vartemp_date=newDate(year,parseFloat(month)-1,parseFloat(day));
//对于老身份证中的你年龄则不需考虑千年虫问题而使用getYear()方法
if(temp_date.getYear()!=parseFloat(year)
||temp_date.getMonth()!=parseFloat(month)-1
||temp_date.getDate()!=parseFloat(day)){
returnfalse;
}else{
returntrue;
}
}
//去掉字符串头尾空格
functiontrim(str){
returnstr.replace(/(^s*)|(s*$)/g,"");
}
</script>
</body>
</html>