js判断输入是否中文,数字,身份证等等js函数【收藏】
http://rq2-79.javaeye.com/blog/136746
- /*
- 判断指定的内容是否为空,若为空则弹出 警告框
- */
- function isEmpty(theValue, strMsg){
- if(theValue==""){
- alert(strMsg+"不能为空!");
- return true;
- }
- return false;
- }
- /*
- 中文判断函数,允许生僻字用英文“*”代替
- 返回true表示是符合条件,返回false表示不符合
- */
- function isChinese(str){
- var badChar ="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
- badChar += "abcdefghijklmnopqrstuvwxyz";
- badChar += "0123456789";
- badChar += " "+" ";//半角与全角空格
- badChar += "`~!@#$%^&()-_=+]\\|:;\"\\'<,>?/";//不包含*或.的英文符号
- if(""==str){
- return false;
- }
- for(var i=0;i var c = str.charAt(i);//字符串str中的字符
- if(badChar.indexOf(c) > -1){
- return false;
- }
- }
- return true;
- }
- /*
- 数字判断函数,返回true表示是全部数字,返回false表示不全部是数字
- */
- function isNumber(str){
- if(""==str){
- return false;
- }
- var reg = /\D/;
- return str.match(reg)==null;
- }
- /*
- 判断给定的字符串是否为指定长度的数字
- 是返回true,不是返回false
- */
- function isNumber_Ex(str,len){
- if(""==str){
- return false;
- }
- if(str.length!=len){
- return false;
- }
- if(!isNumber(str)){
- return false;
- }
- return true;
- }
- /*
- money判断函数,允许第一位为"-"来表示欠钱
- 返回true表示格式正确,返回false表示格式错误
- */
- function isMoney(str){
- if(""==str){
- return false;
- }
- for(var i=0;i var c = str.charAt(i);
- if(i==0){
- if(c!="-"&&(c<"0"||c>"9")){
- return false;
- }else if(c=="-"&&str.length==1){
- return false;
- }
- }else if(c < "0" || c > "9"){
- return false;
- }
- }
- return true;
- }
- /*
- 英文判断函数,返回true表示是全部英文,返回false表示不全部是英文
- */
- function isLetter(str){
- if(""==str){
- return false;
- }
- for(var i=0;i var c = str.charAt(i);
- if((c<"a"||c>"z")&&(c<"A"||c>"Z")){
- return false;
- }
- }
- return true;
- }
- /*
- 空格判断,当包含有空格返回false,当不包含一个空格返回true
- ""不能被判断
- */
- function notInSpace(str){
- if(""==str){
- return false;
- }
- var badChar =" ";
- badChar += " ";
- for(var i=0;i var c = str.charAt(i);//字符串str中的字符
- if(badChar.indexOf(c) > -1){
- return false;
- }
- }
- return true;
- }
- /*
- 发票号判断函数,返回true表示是发票号,返回false表示不符合规范
- */
- function isFPH(str){
- if(""==str){
- return false;
- }
- for(var i=0;i var c = str.charAt(i);
- if((c < "0" || c > "9") && (c!="-")&&(c!=",")){
- return false;
- }
- }
- return true;
- }
- /*
- 电话判断函数,允许“数字”、“;”、“-”、“(”、”)“,
- true表示是电话号码
- */
- function isTelephone(str){
- var trueChar = "()-;1234567890";
- if(""==str){
- return false;
- }
- for(var i=0;i var c = str.charAt(i);//字符串str中的字符
- if(trueChar.indexOf(c) == -1) return false;
- }
- return true;
- }
- /**
- 学制可以为1-7,也可以为3.5这种形式,不能超过7年或者低于1年
- */
- function isXZ(str){
- if(""==str){
- return false;
- }
- var reg = /^[1-6](\.5)?$/;
- var r = str.match(reg);
- if(null!=r){
- return true;
- }else{
- if(str=="7"){
- return true;
- }else{
- return false;
- }
- }
- }
- /*
- 判断证书编号是否符合要求,证书编号包含中文、数字、大小写字母、(、)、-
- 是返回true,不是返回false
- */
- function isZSBH(str){
- if(""==str){
- return false;
- }
- for(var i=0;i var c = str.charAt(i);
- alpha = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
- alpha += "abcdefghijklmnopqrstuvwxyz";
- alpha += "()-";
- if(!isChinese(c)&&!isNumber(c)&&alpha.indexOf(c)==-1){
- return false;
- }
- }
- return true;
- }
- /*
- 身份证判断函数,是返回true,不是返回false
- 15位数字,18位数字或者最后一位为X(大写)
- */
- function isSFZ(str){
- if(""==str){
- return false;
- }
- if(str.length!=15&&str.length!=18){//身份证长度不正确
- return false;
- }
- if(str.length==15){
- if(!isNumber(str)){
- return false;
- }
- }else{
- str1 = str.substring(0,17);
- str2 = str.substring(17,18);
- alpha = "X0123456789";
- if(!isNumber(str1)||alpha.indexOf(str2)==-1){
- return false;
- }
- }
- return true;
- }
- /*
- 得到今天的年,月,日
- 调用方法:today = new getToday(); 则today.year为今天的年以此类推
- */
- function getToday(){
- this.now = new Date();
- this.year = this.now.getFullYear();
- this.month = this.now.getMonth();
- this.day = this.now.getDate();
- }
- js判断数字,字母,中文
- 1.
- var reg = /^(\w|[\u4E00-\u9FA5])*$/;
- if(arr=username.match(reg))
- {
- ti=1;
- return ture;
- }
- else
- {
- alert("用户名只允许为英文,数字和汉字的混合,\n请检查是否前后有空格或者其他符号");
- ti=0;
- return false;
- }
- 2.利用正则表达式限制网页表单里的文本框输入内容:
- 用正则表达式限制只能输入中文:onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"
- 用正则表达式限制只能输入全角字符: onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))"
- 用正则表达式限制只能输入数字:onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
- 用正则表达式限制只能输入数字和英文:onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
- 数字
- <script>
- function check()
- {
- if(!isNaN(document.all.form.str.value))
- {
- alert("数字");
- }
- </script>
- 字母
- <script>
- function check()
- {
- var str = /[_a-zA-Z]/;
- if(str.test(document.all.form.str.value))
- {
- alert("字母");
- }
- }
- </script>
- <form name="form" action="" onsubmit="return check();">
- <input type=text name=str>
- <input type=submit>
- <form>
- ---------------------------------------------------
- /**
- * 一些常用的javascript函数(方法)
- *
- * 为便于使用,均书写成String对象的方法
- * 把他保存为.js文件,可方便的扩展字符串对象的功能
- *
- * 方法名 功 能
- * ----------- --------------------------------
- * Trim 删除首位空格
- * Occurs 统计指定字符出现的次数
- * isDigit 检查是否由数字组成
- * isAlpha 检查是否由数字字母和下划线组成
- * isNumber 检查是否为数
- * lenb 返回字节数
- * isInChinese 检查是否包含汉字
- * isEmail 简单的email检查
- * isDate 简单的日期检查,成功返回日期对象
- * isInList 检查是否有列表中的字符字符
- * isInList 检查是否有列表中的字符字符
- */
- /*** 删除首尾空格 ***/
- String.prototype.Trim = function() {
- return this.replace(/(^\s*)|(\s*$)/g, "");
- }
- /*** 统计指定字符出现的次数 ***/
- String.prototype.Occurs = function(ch) {
- // var re = eval("/[^"+ch+"]/g");
- // return this.replace(re, "").length;
- return this.split(ch).length-1;
- }
- /*** 检查是否由数字组成 ***/
- String.prototype.isDigit = function() {
- var s = this.Trim();
- return (s.replace(/\d/g, "").length == 0);
- }
- /*** 检查是否由数字字母和下划线组成 ***/
- String.prototype.isAlpha = function() {
- return (this.replace(/\w/g, "").length == 0);
- }
- /*** 检查是否为数 ***/
- String.prototype.isNumber = function() {
- var s = this.Trim();
- return (s.search(/^[+-]?[0-9.]*$/) >= 0);
- }
- /*** 返回字节数 ***/
- String.prototype.lenb = function() {
- return this.replace(/[^\x00-\xff]/g,"**").length;
- }
- /*** 检查是否包含汉字 ***/
- String.prototype.isInChinese = function() {
- return (this.length != this.replace(/[^\x00-\xff]/g,"**").length);
- }
- /*** 简单的email检查 ***/
- String.prototype.isEmail = function() {
- var strr;
- var mail = this;
- var re = /(\w+@\w+\.\w+)(\.{0,1}\w*)(\.{0,1}\w*)/i;
- re.exec(mail);
- if(RegExp.$3!="" && RegExp.$3!="." && RegExp.$2!=".")
- strr = RegExp.$1+RegExp.$2+RegExp.$3;
- else
- if(RegExp.$2!="" && RegExp.$2!=".")
- strr = RegExp.$1+RegExp.$2;
- else
- strr = RegExp.$1;
- return (strr==mail);
- }
- /*** 简单的日期检查,成功返回日期对象 ***/
- String.prototype.isDate = function() {
- var p;
- var re1 = /(\d{4})[年./-](\d{1,2})[月./-](\d{1,2})[日]?$/;
- var re2 = /(\d{1,2})[月./-](\d{1,2})[日./-](\d{2})[年]?$/;
- var re3 = /(\d{1,2})[月./-](\d{1,2})[日./-](\d{4})[年]?$/;
- if(re1.test(this)) {
- p = re1.exec(this);
- return new Date(p[1],p[2],p[3]);
- }
- if(re2.test(this)) {
- p = re2.exec(this);
- return new Date(p[3],p[1],p[2]);
- }
- if(re3.test(this)) {
- p = re3.exec(this);
- return new Date(p[3],p[1],p[2]);
- }
- return false;
- }
- /*** 检查是否有列表中的字符字符 ***/
- String.prototype.isInList = function(list) {
- var re = eval("/["+list+"]/");
- return re.test(this);
- }