js常用方法
来源:互联网 发布:单片机输出脉冲信号 编辑:程序博客网 时间:2024/04/26 20:34
文本框只能输入数字:<input type="text" name="cityNumber" style="width:115px;"
onkeyup="this.value=this.value.replace(/\D/g,'');"
onafterpaste="this.value=this.value.replace(/\D/g,'')">
// JavaScript Document
/*------------------------------------------------------------
Trim()去左右空格,LTrim()去左空格,Rtrim()去右空格
------------------------------------------------------------*/
String.prototype.Trim = function(){
return this.replace(/(^\s*)|(\s*$)/g, "");
};
String.prototype.LTrim = function(){
return this.replace(/(^\s*)/g, "");
};
String.prototype.Rtrim = function(){
return this.replace(/(\s*$)/g, "");
};
/*------------------------------------------------------------
得到字符串的字节长度,一个汉子长度为2,一个英文字母为1
------------------------------------------------------------*/
String.prototype.getBytesLength = function(){
var cArr = this.match(/[^\x00-\xff]/ig);
return this.length + (cArr == null ? 0 : cArr.length);
}
/*------------------------------------------------------------
是否为空字符 value:字符串,返回:空值==true,有值==false
------------------------------------------------------------*/
function isNullStr(value){
return value.Trim()==""?true:false;
}
/*------------------------------------------------------------
制止Ctrl+C
------------------------------------------------------------*/
function nocopy(){
event.returnValue=false;
}
/*------------------------------------------------------------
限制长度 value:字符串,maxlen:最大长度;返回:true==小于
------------------------------------------------------------*/
function chkLength(value,maxlen){
return value.length>maxlen?false:true;
}
/*------------------------------------------------------------
只能是数字
------------------------------------------------------------*/
function onlyNum(){
if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105)||event.keyCode==8))
event.returnValue=false;
}
/*------------------------------------------------------------
只能是正负整数
------------------------------------------------------------*/
function onlyNegativeNum(){
if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105)||event.keyCode==8||event.keyCode==189))
event.returnValue=false;
}
/*------------------------------------------------------------
只能是数字和逗号
------------------------------------------------------------*/
function onlyNumOrComma(){
if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105)||event.keyCode==188||event.keyCode==8))
event.returnValue=false;
}
/*------------------------------------------------------------
只能是字母
------------------------------------------------------------*/
function onlyEng(){
if(!(event.keyCode>=65&&event.keyCode<=90))
event.returnValue=false;
}
/*------------------------------------------------------------
只能是小数
------------------------------------------------------------*/
function onlyFloat(){
var realKey = String.fromCharCode(event.keyCode)
var myReg = /^(-|\+)?\d+(((\.\d+)|(\.))|((\/\d+)|(\/)))?$/;
if (myReg.test(event.srcElement.value + realKey) == false)
event.returnValue=false;
}
/*------------------------------------------------------------
E-Mail验证 正确为true
------------------------------------------------------------*/
function isEmail(email){
var reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/;
return reg.test(email);
}
/*------------------------------------------------------------
固定电话验证,区号与分号之间用 - 号分隔 正确为true
------------------------------------------------------------*/
function isphone(inpurStr){
var p=/^((0\d{2,3})-)?(\d{7,8})(-(\d{3,4}))?$/;
return p.test(inpurStr);
}
/*------------------------------------------------------------
手机号码验证 正确为true
------------------------------------------------------------*/
function istel(inpurStr){
reg=/^1[3,5,8]\d{9}$/gi;
return reg.test(inpurStr);
}
/*------------------------------------------------------------
判断字符串是否存在 存在true
------------------------------------------------------------*/
function isStrExist(src,str) {
return src.indexOf (str) != -1?true:false;
}
/*------------------------------------------------------------
获取文件大小 返回字节数
------------------------------------------------------------*/
function getFileSize(fileName){
if(document.all){
window.oldOnError = window.onerror;
window.onerror = function(err){
if(err.indexOf('utomation') != -1){
//alert("can't access file");
return true;
}else
return false;
};
var fso = new ActiveXObject('Scripting.FileSystemObject');
var file = fso.GetFile(fileName);
window.onerror = window.oldOnError;
return file.Size;
}
}
/*------------------------------------------------------------
汉字转ASCII码
------------------------------------------------------------*/
function native2ascii(native_value){
var regexp =/[^\x00-\xff]/g;
var a = native_value;
var m="";
while (m=regexp.exec(native_value)){
a=a.split(m[0]).join(escape(m[0]).split('%').join('\\'));
}
return a;
}
/*------------------------------------------------------------
ASCII码转汉字
------------------------------------------------------------*/
function ascii2native(ascii_value){
var n=ascii_value;
n =unescape(n.split('\\').join('%'));
return n;
}
/*------------------------------------------------------------
删除控件 ctrlID:控件ID
------------------------------------------------------------*/
function delContrl(ctrlID){
try{
var t = document.getElementById(ctrlID);
t.removeNode(true);
}catch(err){}
}
/*------------------------------------------------------------
得到下拉框当前选中的一项 obj:下拉框控件对象 通过obj.value与obj.text来取值
------------------------------------------------------------*/
function getSelectedOption(obj){
var selectObj = {value:obj.value,text:obj.options[obj.selectedIndex].text};
return selectObj;
}
/*------------------------------------------------------------
得到下拉框当前选中的所有项 obj:下拉框控件对象 返回数组,通过obj[i].value与obj[i].text来取值
------------------------------------------------------------*/
function getSelectedOptions(obj){
var myArray=new Array();
var num=0;
for(var i=0;i<obj.length;i++){
var temp = obj.options[i];
if(temp.selected){
myArray[num]=temp;
num++;
}
}
return myArray;
}
/**------------------------------------------------------------
得到下拉框所有项 obj:下拉框控件对象 ,返回数组,通过obj[i].value与obj[i].text来取值
------------------------------------------------------------*/
function getAllOptions(obj){
var myArray=new Array();
for(var i=0;i<obj.length;i++){
var temp = obj.options[i];
myArray[i]=temp;
}
return myArray;
}
/*------------------------------------------------------------
增加下拉框选项 obj:下拉框控件对象,value:值,text:显示内容
------------------------------------------------------------*/
function addoption(obj,value,text){
obj.options.add(new Option(text,value));
}
/*------------------------------------------------------------
删除下拉框选中项 obj:下拉框控件对象,返回下拉框中还有多少选项
------------------------------------------------------------*/
function delOption(obj){
for(var i=0;i<obj.length;i++){
var temp = obj.options[i];
if(temp.selected){
obj.remove(i);
i--;
}
}
return obj.length;
}
/*------------------------------------------------------------
得到下拉框所有选项的值集合,以逗号隔开 obj:下拉框控件对象
------------------------------------------------------------*/
function getSelectAllValue(obj){
var str="";
for(var i=0;i<obj.length;i++){
str+=obj.options[i].value;
if(i!=yslist.length-1){
str+=",";
}
}
return str;
}
/*------------------------------------------------------------
设置所有月份 obj:下拉框控件对象
------------------------------------------------------------*/
function setAllMonth(obj){
obj.length=0;
for(var i=1;i<=12;i++){
addoption(obj,i,i);
}
}
/*------------------------------------------------------------
设置该月有多少天 obj:下拉框控件对象,year:设置年份,month:设置月份
------------------------------------------------------------*/
function setAllDay(obj,year,month){
obj.length=0;
var count = new Date(year , month , 0).getDate();
for(var i=1;i<=count;i++){
addoption(obj,i,i);
}
}
/*------------------------------------------------------------
设置所有小时 obj:下拉框控件对象
------------------------------------------------------------*/
function setAllHour(obj){
obj.length=0;
for(var i=0;i<=24;i++){
addoption(obj,i,i);
}
}
/*------------------------------------------------------------
设置所有分钟 obj:下拉框控件对象
------------------------------------------------------------*/
function setMinOrSec(obj){
obj.length=0;
for(var i=0;i<=60;i++){
addoption(obj,i,i);
}
}
/*------------------------------------------------------------
查看下拉框是否存在该值 obj:下拉框控件对象,value:比较的值
------------------------------------------------------------*/
function chkOption(obj,value){
for(var i=0;i<obj.length;i++){
if(obj.options[i].value==value){
return true;
}
}
return false;
}
/*------------------------------------------------------------
检查后缀名是否正确 filename:文件全路径名,arr:比较的值,数组,return:正确==true;
------------------------------------------------------------*/
function chkHouz(filename,arr){
try{
var houz=filename.substring(filename.lastIndexOf('.'),filename.length);
houz=houz.toLowerCase();
for(var i=0;i<arr.length;i++){
if(houz==arr[i].toLowerCase()){
return true;
}
}
return false;
}catch(err){return false;}
}
/*------------------------------------------------------------
地址转向;
------------------------------------------------------------*/
function toUrl(url){
window.location.href=url;
}
/*------------------------------------------------------------
打开地址对话窗;
------------------------------------------------------------*/
function showWinDialog(url,width,height){
var retValue=window.showModalDialog(url,"","help:0;resizable:0;status=0;scrollbars=1;dialogWidth="+width+";dialogHeight="+height+";center=true");
return retValue;
}
function limitLength(obj,countLength){
if(obj.value.length>countLength){
obj.value=obj.value.substring(0,countLength);
}
}
/*------------------------------------------------------------
获取路径; 如:在http://localhost:8080/test/dir/test.html,则返回'../'
------------------------------------------------------------*/
function getRelativePath(){
var url = location.href;//当前url
var path = url.length - url.replace(/\//g,"").length - 4;
//层次为url包含/的长度-没有包含/的长度再减去项目头/的个数(如:http://hi.baidu.com/54fbj/)
var str = "";
for(var i = 0; i < path; i++){
str += "../";//组合成一个相对路径的字符串返回
}
return str;
}
/*------------------------------------------------------------
身份证验证
------------------------------------------------------------*/
var vcity={ 11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",
21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",
33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",
42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",
51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",
63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"
};
function checkCards(obj){
var card =obj.value;
// 是否为空
if(card === ''){
alert('请输入身份证号,身份证号不能为空');
// obj.focus();
return false;
}
// 校验长度,类型
if(isCardNo(card) === false){
alert('您输入的身份证号码不正确,请重新输入');
// obj.focus();
return false;
}
// 检查省份
if(checkProvince(card) === false){
alert('您输入的身份证号码不正确,请重新输入');
// obj.focus();
return false;
}
// 校验生日
if(checkBirthday(card) === false){
alert('您输入的身份证号码生日不正确,请重新输入');
// obj.focus();
return false;
}
// 检验位的检测
// if(checkParity(card) === false){
// alert('您的身份证校验位不正确,请重新输入');
// obj.focus();
// return false;
// }
return true;
};
// 检查号码是否符合规范,包括长度,类型
isCardNo = function(card){
// 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X
var reg = /(^\d{15}$)|(^\d{17}(\d|X)$)/;
if(reg.test(card) === false){
return false;
}
return true;
}
// 取身份证前两位,校验省份
checkProvince = function(card){
var province = card.substr(0,2);
if(vcity[province] == undefined)
{
return false;
}
return true;
};
// 检查生日是否正确
checkBirthday = function(card){
var len = card.length;
// 身份证15位时,次序为省(3位)市(3位)年(2位)月(2位)日(2位)校验位(3位),皆为数字
if(len == '15') {
var re_fifteen = /^(\d{6})(\d{2})(\d{2})(\d{2})(\d{3})$/;
var arr_data = card.match(re_fifteen);
var year = arr_data[2];
var month = arr_data[3];
var day = arr_data[4];
var birthday = new Date('19'+year+'/'+month+'/'+day);
return verifyBirthday('19'+year,month,day,birthday);
}
// 身份证18位时,次序为省(3位)市(3位)年(4位)月(2位)日(2位)校验位(4位),校验位末尾可能为X
if(len == '18')
{
var re_eighteen = /^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/;
var arr_data = card.match(re_eighteen);
var year = arr_data[2];
var month = arr_data[3];
var day = arr_data[4];
var birthday = new Date(year+'/'+month+'/'+day);
return verifyBirthday(year,month,day,birthday);
}
return false;
};
// 校验日期
verifyBirthday = function(year,month,day,birthday){
var now = new Date();
var now_year = now.getFullYear();
// 年月日是否合理
if(birthday.getFullYear() == year && (birthday.getMonth() + 1) == month && birthday.getDate() == day)
{
// 判断年份的范围(3岁到100岁之间)
var time = now_year - year;
if(time >= 3 && time <= 100)
{
return true;
}
return false;
}
return false;
};
// 校验位的检测
checkParity = function(card){
// 15位转18位
card = changeFivteenToEighteen(card);
var len = card.length;
if(len == '18'){
var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
var cardTemp = 0, i, valnum;
for(i = 0; i < 17; i ++)
{
cardTemp += card.substr(i, 1) * arrInt[i];
}
valnum = arrCh[cardTemp % 11];
if (valnum == card.substr(17, 1))
{
return true;
}
return false;
}
return false;
};
// 15位转18位身份证号
changeFivteenToEighteen = function(card){
if(card.length == '15'){
var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
var cardTemp = 0, i;
card = card.substr(0, 6) + '19' + card.substr(6, card.length - 6);
for(i = 0; i < 17; i ++)
{
cardTemp += card.substr(i, 1) * arrInt[i];
}
card += arrCh[cardTemp % 11];
return card;
}
return card;
};
/*------------------------------------------------------------
转换显示内容
例:text:1`显示1,2`显示2,3`显示3 value:2 返回:显示2
------------------------------------------------------------*/
function convertText(text,value){
if(text.length>0){
var arr = text.split(",");
for(var i = 0; i < arr.length; i++){
if(arr[i].split("`")[0]==value){
return arr[i].split("`")[1];
}
}
}
return "";
}
- js常用方法
- js 常用方法大全
- 常用js方法
- js常用方法
- JS 的常用方法
- JS 常用的方法
- JS常用方法
- 常用JS方法
- js校验常用方法
- js 常用方法
- js常用方法
- 常用JS方法
- JS常用方法
- 常用js方法收集
- js常用方法
- 常用JS方法
- JS常用校验方法
- 常用js方法收藏
- 程序员减肥-肥胖程序员让你上班时间减肥
- php函数call_user_func和call_user_func_array详解
- asp.net 字符串过滤器
- ssh相关
- 16.3.2 绘制矩形
- js常用方法
- Project xxx is not configured as a MyEclipse Web-Struts Project
- 转 举例说明数据库设计中的三个范式
- rapidxml添加属性的内存分配问题
- 关于SIGPIPE信号
- struts2 标签取值方式
- 网易公开课(各个名校)
- android 相对布局属性
- 大型Java多用户商城系统设计开发的心得和困难