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

转载 2011年06月16日 15:54:00
有时我们经常需要去判断一个字符串是否包含中文和全角的字符,尤其在表单提交时。
中文:
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="提交" onclick="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;}

 

javascript正则表达式取汉字的长度,一个汉字占两个字节长度

String.prototype.len=function(){return this.replace(/[^/x00-/xff]/g,"aa").length;}function test(){ a...
  • redbednil
  • redbednil
  • 2007年11月30日 11:17
  • 3300

js判断文字长度(区分中文及英文)

方法一: var len = 0; var v = $.trim($(this).val()); for(i=0;i256) { len += 3; } else { ...
  • z69183787
  • z69183787
  • 2012年10月22日 06:42
  • 4978

正则表达式 匹配中文,英文字母和数字及_长度详解

http://www.juapk.com/thread-2472-1-1.html 匹配中文:[\u4e00-\u9fa5]  英文字母:[a-...
  • a522370219
  • a522370219
  • 2015年09月09日 10:22
  • 10083

js各类正则表达式(中文、字母、数字、全角)

转载自:http://www.cnblogs.com/xujh/archive/2008/08/21/1273525.html 非常全,很详细的js总结 1.只能输入数字、字母、中文的:  ...
  • jdzms23
  • jdzms23
  • 2013年10月08日 11:50
  • 31615

js各类正则表达式(中文、字母、数字、全角)

js各类正则表达式(中文、字母、数字、全角)
  • u012965203
  • u012965203
  • 2016年11月03日 13:45
  • 980

js识别半角字符的正则表达式

New Document                   alert(/^[\x00-\xff]*$/.test("ee"))
  • zzq19860626
  • zzq19860626
  • 2013年08月23日 13:58
  • 1897

js中文长度校验以及字节

单字节指只占一个字,是英文字符。双字是占两个字节的,中文字符都占两个字节 单字节的英文是Byte;比特是最小的数值单位,它的英文是Bit。 一个字节包含8个比特,通常计算机初学者接触到的...
  • john2522
  • john2522
  • 2013年05月24日 17:03
  • 4589

js最常用 正则表达式

js正则表达式 常用正则表达式合集: 验证数字:^[0-9]*$ 验证n位的数字:^\d{n}$ 验证至少n位数字:^\d{n,}$ 验证m-n位的数字:^\d{m,n}$ ...
  • peng_hao1988
  • peng_hao1988
  • 2012年09月21日 15:51
  • 6641

js全角字符转半角字符

New Document               function DBC2SBC(str){    var result="";    for(var i=0;i    {        co...
  • zzq19860626
  • zzq19860626
  • 2013年08月23日 13:58
  • 1487

利用正则表达式计算含有中文的字符串长度

利用正则表达式计算含有中文的字符串长度 ...
  • cui55
  • cui55
  • 2006年07月26日 17:07
  • 1876
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:javascript正则表达式判断中文、全角字符及中文长度
举报原因:
原因补充:

(最多只允许输入30个字)