javascript正则表达式判断中文、全角字符及中文长度

有时我们经常需要去判断一个字符串是否包含中文和全角的字符,尤其在表单提交时。
中文:
str.match(/[^/x00-/xff]/ig)

判断包含中文字符串长度
aMatch=str.match(/[^/x00-/x80]/g);
str.length+(!aMatch?0:aMatch.length)
还有一种方法来判断中文字符串的长度,即,将中文替换成任意两个字符,如(**),然后在计算它的长度,如下:
function(str){
     str = str.replace(/[^/x00-/xff]/g, '**');
     return str.length;
}
在   JScript   表达式中,正则表达式后面的全局标志   ( 'g ')   表示该表达式将用来在输入字符串中查找尽可能多的匹配。大小写敏感性由表达式结束处的大小写敏感性标记   ( 'i ')   指定。
 
 
提供常用Javascript正则表达式验证函数以下函数调用方式:

  
HTML代码:
    <input type="text" name="textfield" id="txt_id"  />
    <input type="submit" name="Submit" value="提交" οnclick="check()" />
**************************/
// 判断输入是否是一个由 0-9 / A-Z / a-z 组成的字符串
// 判断输入是否是一个数字--(数字包含小数)--

// 判断输入是否是一个整数
// 判断输入是否是有效的长日期格式 - "YYYY-MM-DD HH:MM:SS" || "YYYY/MM/DD HH:MM:SS"
// 检查是否为 YYYY-MM-DD || YYYY/MM/DD 的日期格式
// 判断输入是否是有效的电子邮件
// 去除字符串的首尾的空格

// 返回字符串的实际长度, 一个汉字算2个长度
HTML代码:
  
**************************/
// 判断输入是否是一个由 0-9 / A-Z / a-z 组成的字符串
function isalphanumber(str)
{
    var result=str.match(/^[a-zA-Z0-9] $/);
    if(result==null) return false;
    return true;
}

// 判断输入是否是一个数字--(数字包含小数)--
function isnumber(str)
{
    return !isNaN(str);
}

// 判断输入是否是一个整数
function isint(str)
{
    var result=str.match(/^(-|/ )?/d $/);
    if(result==null) return false;
    return true;
}

// 判断输入是否是有效的长日期格式 - "YYYY-MM-DD HH:MM:SS" || "YYYY/MM/DD HH:MM:SS"
function isdatetime(str)
{
    var result=str.match(/^(/d{4})(-|//)(/d{1,2})/2(/d{1,2}) (/d{1,2}):(/d{1,2}):(/d{1,2})$/);
    if(result==null) return false;
    var d= new Date(result[1], result[3]-1, result[4], result[5], result[6], result[7]);
    return (d.getFullYear()==result[1]&&(d.getMonth() 1)==result[3]&&d.getDate()==result[4]&&d.getHours()==result[5]&&d.getMinutes()==result[6]&&d.getSeconds()==result[7]);
}

// 检查是否为 YYYY-MM-DD || YYYY/MM/DD 的日期格式
function isdate(str){
   var result=str.match(/^(/d{4})(-|//)(/d{1,2})/2(/d{1,2})$/);
   if(result==null) return false;
   var d=new Date(result[1], result[3]-1, result[4]);
   return (d.getFullYear()==result[1] && d.getMonth() 1==result[3] && d.getDate()==result[4]);
}

// 判断输入是否是有效的电子邮件
function isemail(str)
{
    var result=str.match(/^/w ((-/w )|(/./w ))*/@[A-Za-z0-9] ((/.|-)[A-Za-z0-9] )*/.[A-Za-z0-9] $/);
    if(result==null) return false;
    return true;
}

// 去除字符串的首尾的空格
function trim(str){
   return str.replace(/(^/s*)|(/s*$)/g, "");
}

// 返回字符串的实际长度, 一个汉字算2个长度
function strlen(str){
   return str.replace(/[^/x00-/xff]/g, "**").length;
}(/d{1,2})$/);   if(result==null) return false;   var d=new Date(result[1], result[3]-1, result[4]);   return (d.getFullYear()==result[1] && d.getMonth() 1==result[3] && d.getDate()==result[4]);}// 判断输入是否是有效的电子邮件function isemail(str){    var result=str.match(/^/w ((-/w )|(/./w ))*/@[A-Za-z0-9] ((/.|-)[A-Za-z0-9] )*/.[A-Za-z0-9] $/);    if(result==null) return false;    return true;}// 去除字符串的首尾的空格function trim(str){   return str.replace(/(^/s*)|(/s*$)/g, "");}// 返回字符串的实际长度, 一个汉字算2个长度function strlen(str){   return str.replace(/[^/x00-/xff]/g, "**").length;}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值