﻿/******************************************************************************************
*正则表达式函数库
*******************************************************************************************
正则表达式

"^""d+$"　　//非负整数（正整数 + 0）
"^[0-9]*[1-9][0-9]*$"　　//正整数 
"^((-""d+)|(0+))$"　　//非正整数（负整数 + 0） 
"^-[0-9]*[1-9][0-9]*$"　　//负整数 
"^-?""d+$"　　　　//整数 
"^""d+("".""d+)?$"　　//非负浮点数（正浮点数 + 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+)?)|(0+("".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+)?$"　　//浮点数 
"^[A-Za-z]+$"　　//由26个英文字母组成的字符串 
"^[A-Z]+$"　　//由26个英文字母的大写组成的字符串 
"^[a-z]+$"　　//由26个英文字母的小写组成的字符串 
"^[A-Za-z0-9]+$"　　//由数字和26个英文字母组成的字符串 
"^""w+$"　　//由数字、26个英文字母或者下划线组成的字符串 
"^[""w-]+("".[""w-]+)*@[""w-]+("".[""w-]+)+$"　　　　//email地址 
"^[a-zA-z]+://(""w+(-""w+)*)("".(""w+(-""w+)*))*(""?""S*)?$"　　//url

输入控制介绍
1.只能输入数字和英文的： 
<input onkeyup="value=value.replace(/[\W]/g,'') " onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))" ID="Text1" NAME="Text1">
2.只能输入数字的： 
<input onkeyup="value=value.replace(/[^\d]/g,'') " onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))" ID="Text2" NAME="Text2">
3.只能输入全角的： 
<input onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))" ID="Text3" NAME="Text3">
4.只能输入汉字的： 
<input onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))" ID="Text4" NAME="Text4">
1.取消按钮按下时的虚线框 
　　 在input里添加属性值  hideFocus 或者 HideFocus=true 
   
2.只读文本框内容 
   在input里添加属性值  readonly 
   
3.防止退后清空的TEXT文档(可把style内容做做为类引用) 
　　 <INPUT style=behavior:url(#default#savehistory); type=text id=oPersistInput> 
   
4.ENTER键可以让光标移到下一个输入框 
　　 <input onkeydown="if(event.keyCode==13)event.keyCode=9" > 
   
5.只能为中文(有闪动) 
　　 <input onkeyup="value="/value.replace(/[" -~]/g,’’)" onkeydown="if(event.keyCode==13)event.keyCode=9"> 
   
6.只能为数字(有闪动) 
　　 <input onkeyup="value="/value.replace(/["^\d]/g,’’) "onbeforepaste="clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^\d]/g,’’))"> 
   
7.只能为数字(无闪动) 
　　 <input ime-mode:disabled" onkeydown="if(event.keyCode==13)event.keyCode=9" onKeyPress="if ((event.keyCode<48 || event.keyCode>57)) 
event.returnValue=false"> 
   
8.只能输入英文和数字(有闪动) 
　　 <input onkeyup="value="/value.replace(/[\W]/g,"’’)" onbeforepaste="clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^\d]/g,’’))"> 
   
9.屏蔽输入法 
　　 <input type="text" name="url" ime-mode:disabled" onkeydown="if(event.keyCode==13)event.keyCode=9"> 
   
10. 只能输入 数字，小数点，减号（-） 字符(无闪动) 
　　 <input onKeyPress="if (event.keyCode!=46 && event.keyCode!=45 && (event.keyCode<48 || event.keyCode>57)) event.returnValue=false"> 
   
11. 只能输入两位小数，三位小数(有闪动) 
　　 <input maxlength=9 onkeyup="if(value.match(/^\d{3}$/))value="/value.replace(value,parseInt(value/10))" ;value="/value.replace(/\.\d*\./g,’."’)" onKeyPress="
if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 && event.keyCode!=45 || value.match(/^\d{3}$/) || /\.\d{3}$/.test(value)) {event.returnValue=false}
" id=text_kfxe name=text_kfxe>
******************************************************************************************/

//去左空格;
function ltrim(s){
   return s.replace( /^\\s*/, "");
}

//去右空格;
function rtrim(s){
   return s.replace( /\\s*$/, "");
}

//去左右空格;
function trim(s){
   return rtrim(ltrim(s));
}

//是否为空值;
function IsEmpty(_str){
   var tmp_str = trim(_str);
   return tmp_str.length == 0;
}

//是否有效的Email;
function IsEmail(_str) {
    var tmp_str = trim(_str);
    var pattern = /^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*$/;
    return pattern.test(tmp_str);
}

//是否有效的数字;
function IsNumber(_str){
   var tmp_str = trim(_str);
   var pattern = /^[0-9]*[1-9][0-9]*$/;
   return pattern.test(tmp_str);
}

//是否有效的颜色值;
function IsColor(color){
   var temp=color;
   if (temp=="") return true;
   if (temp.length!=7) return false;
   return (temp.search(/\\#[a-fA-F0-9]{6}/) != -1);
}


//校验普通电话、传真号码：可以“+”开头，除数字外，可含有“-”
function isPhone(s) {
    var patrn = /^(\+?\d{2,4}[-\s]?){0,2}\d{7,8}$/;
    if (!patrn.exec(s)) return false
    return true
}

//是否有效的手机号码
function IsMobile(s) {
    var patrn = /^0*(13|15)\d{9}$/;
    if (!patrn.exec(s)) return false
    return true
}

//校验邮政编码
function isPostalCode(s) {
    var patrn = /^[0-9]{6}$/;
    if (!patrn.exec(s)) return false
    return true
}

//校验证件号码
function IsIdCard(s) {
    var patrn = /^(\d{14}|\d{17})(\d|[xX])$/;
    if (!patrn.exec(s)) return false
    return true
}

//校验用户名 :用户名只 能用 中文、英文、数字、下划线、4-16个字符
function IsUserName(s) {
    var patrn = /^[\u4E00-\u9FA5\uf900-\ufa2d\w]{4,16}$/;
    if (!patrn.exec(s)) return false
    return true
}

