日常控件 正则表达式

验证网页输入框是否有输入(常见错误是查询的时候,如果客户从别的地方复制东西[经常后面会有多余的空格],直接粘贴后查询,会提示查不到[因为后面含有多余的空格])

//判断文本框是否有输入合法信息,并清空左右空格
//如果有输入非空格则返回true,否则返回false
function isTextInput(textID){
	var myText = document.getElementById(textID);
	if(myText.value.replace(/(^\s*)|(\s*$)/g,"")===""){
		myText.value = '';
		return false;
	}
	myText.value = myText.value.replace(/(^\s*)|(\s*$)/g,"");
	return true;
}

 复选框的全选、全不选、反选
//ckName为要操作的复选框的Name值,type为操作类型1表示全选,0表示全不选,2表示反选
function checkSelect(ckName,type) {   
	var cks = document.getElementsByName(ckName);   
	var len = cks.length;   
	if (len > 0) {   
		var i = 0;   
		for (i = 0; i < len; i++){
			if(type==1){
				cks[i].checked = true;
			}else if(type==0){
				cks[i].checked = false;
			}else if(type==2){
				cks[i].checked = !cks[i].checked;
			}
		}  
	}   
}


判断复选框是否有选中(例如在做批量删除的时候,点击删除按钮,要先确定出用户是否已经有选择了要删除的项)

//判断ckName复选框是否有被选中;如果有勾起则返回真,否则返回假
function checkBoxIsChecked(ckName){
	var cks = document.getElementsByName(ckName);
	for(var i = 0;i<cks.length;i++){
		if(cks[i].checked){
			return true;
		}
	}
	return false;
}

判断浏览器是否支持window.screen判断浏览器是否支持screen

//判断浏览器是否支持window.screen判断浏览器是否支持screen
if (window.screen) {     
	var myw = screen.availWidth;   //定义一个myw,接受到当前全屏的宽      
	var myh = screen.availHeight;  //定义一个myw,接受到当前全屏的高     
	window.moveTo(0, 0);           //把window放在左上脚      
	window.resizeTo(myw, myh);     //把当前窗体的长宽跳转为myw和myh    
}


判断访问页面的设备

function IsPC() {
	var userAgentInfo = navigator.userAgent;
	var Agents = new Array("Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod");
	var flag = true;
	for (var v = 0; v < Agents.length; v++) {
		if (userAgentInfo.indexOf(Agents[v]) > 0) {
			flag = false; break;
		}
	}
	return flag; 
}


/**
* @description 过滤所有空格字符。
* @param str:需要去掉空间的原始字符串
* @return 返回已经去掉空格的字符串
*/
this.trimSpace = function(str) {
	str += "";
	while ((str.charAt(0) == ' ') || (str.charAt(0) == '???')
			|| (escape(str.charAt(0)) == '%u3000'))
		str = str.substring(1, str.length);
	while ((str.charAt(str.length - 1) == ' ')
			|| (str.charAt(str.length - 1) == '???')
			|| (escape(str.charAt(str.length - 1)) == '%u3000'))
		str = str.substring(0, str.length - 1);
	return str;
}



function nowTime() {
	var myDate = new Date();
	/*
	myDate.getYear();        //获取当前年份(2位)
	myDate.getFullYear();    //获取完整的年份(4位,1970-????)
	myDate.getMonth();       //获取当前月份(0-11,0代表1月)
	myDate.getDate();        //获取当前日(1-31)
	myDate.getDay();         //获取当前星期X(0-6,0代表星期天)
	myDate.getTime();        //获取当前时间(从1970.1.1开始的毫秒数)
	myDate.getHours();       //获取当前小时数(0-23)
	myDate.getMinutes();     //获取当前分钟数(0-59)
	myDate.getSeconds();     //获取当前秒数(0-59)
	myDate.getMilliseconds();    //获取当前毫秒数(0-999)
	myDate.toLocaleDateString();     //获取当前日期
	var mytime=myDate.toLocaleTimeString();     //获取当前时间
	myDate.toLocaleString( );        //获取日期与时间
	 */
	var month = myDate.getMonth() + 1 ;
	var time = myDate.getFullYear() + "-" + month + "-"
			+ myDate.getDate() + "-" + myDate.getHours() + "-"
			+ myDate.getMinutes() + "-" + myDate.getSeconds();
	return time;
}



//验证数字的正则表达式集 
验证数字:^[0-9]*$ 
验证n位的数字:^\d{n}$ 
验证至少n位数字:^\d{n,}$ 
验证m-n位的数字:^\d{m,n}$ 
验证零和非零开头的数字:^(0|[1-9][0-9]*)$ 
验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$ 
验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$ 
验证非零的正整数:^\+?[1-9][0-9]*$ 
验证非零的负整数:^\-[1-9][0-9]*$ 
验证非负整数(正整数 + 0) ^\d+$ 
验证非正整数(负整数 + 0) ^((-\d+)|(0+))$ 
验证长度为3的字符:^.{3}$ 
验证由26个英文字母组成的字符串:^[A-Za-z]+$ 
验证由26个大写英文字母组成的字符串:^[A-Z]+$ 
验证由26个小写英文字母组成的字符串:^[a-z]+$ 
验证由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$ 
验证由数字、26个英文字母或者下划线组成的字符串:^\w+$ 
验证用户密码:^[a-zA-Z]\w{5,17}$ 正确格式为:以字母开头,长度在6-18之间,只能包含字符、数字和下划线。 
验证是否含有 ^%&',;=?$\" 等字符:[^%&',;=?$\x22]+ 
验证汉字:^[\u4e00-\u9fa5],{0,}$ 
验证Email地址:^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$ 
验证InternetURL:^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ ;^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$ 
验证电话号码:^(\(\d{3,4}\)|\d{3,4}-)?\d{7,8}$:--正确格式为:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX。 
验证身份证号(15位或18位数字):^\d{15}|\d{}18$ 
验证一年的12个月:^(0?[1-9]|1[0-2])$ 正确格式为:“01”-“09”和“1”“12” 
验证一个月的31天:^((0?[1-9])|((1|2)[0-9])|30|31)$ 正确格式为:01、09和1、31。 
整数:^-?\d+$ 
非负浮点数(正浮点数 + 0):^\d+(\.\d+)?$ 
正浮点数 ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$ 
非正浮点数(负浮点数 + 0) ^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 
负浮点数 ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$ 
浮点数 ^(-?\d+)(\.\d+)?$


1.日期控件,建议使用My97 DatePicker
    
2.IP地址验证:/^(((25[0-5])|(2[0-4]\d)|(1\d{2})|(0?\d{2})|(\d))($|(?!\.$)\.)){4}$/

3.Email: /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[-_]*[A-Za-z0-9]+)+$/

/^([a-zA-Z0-9]+[_|\-|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\-|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/


网址: var strRegex = "^((https|http|ftp|rtsp|mms)?://)"
                + "?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?" // ftp的user@
                + "(([0-9]{1,3}\.){3}[0-9]{1,3}" // IP形式的URL- 199.194.52.184
                + "|" // 允许IP和DOMAIN(域名)
                + "([0-9a-z_!~*'()-]+\.)*" // 域名- www.
                + "([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\." // 二级域名
                + "[a-z]{2,6})" // first level domain- .com or .museum
                + "(:[0-9]{1,4})?" // 端口- :80
                + "((/?)|" // a slash isn't required if there is no file name
                + "(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$";


4.手机: /^[1][3-8]\d{9}$/


5.邮编: /^[1-9]\d{5}$/


6.固定电话: /^(\d{3,4}-)*\d{7,8}$/            //允许不加区号
/(^(\d{4})?\d{7,8}$)|(^(\d{4}-)*\d{7,8}$)|(^(\d{3})?\d{8}$)|(^(\d{3}-)*\d{8}$)/

7.身份证号: /^(\d{6})(18|19|20)?(\d{2})([01]\d)([0123]\d)(\d{3})(\d|X|x)?$/

 


一、正则表达式文本框验证

1,不能为空 
<input type="text" onblur="if(this.value.replace(/^ +| +$/g,'')=='')alert('不能为空!')">

2,只能输入英文和数字
<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,'')">

3,判断字符由字母和数字,下划线,点号组成.且开头的只能是下划线和字母 
/^([a-zA-z_]{1})([\w]*)$/g.test(str)

4,只能输入数字
<input name="text" type="text" id="NewPage" onKeyUp="value=value.replace(/\D/g,'')" onafterpaste="value=value.replace(/\D/g,'')" >

5,只能输入中文
<input type="text" onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')">

6,只能输入英文
<input type="text" onkeyup="value=value.replace(/[^\a-\z\A-\Z]/g,'')">
<input type="text" onkeyup="value=value.replace(/[^a-zA-Z]/g,'')">

7,只能输入中文、英文、数字、@符号和.符号
<input type="text" onkeyup="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\@\.]/g,'')">

8,只允许输入英文,且不能粘贴也无法弹出粘贴菜单

<input type="text" onkeyup="value=value.replace(/[^\a-\z\A-\Z]/g,'')" onkeydown="fncKeyStop(event)" onpaste="return false" oncontextmenu ="return false" />




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值