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;}

 

相关文章推荐

js实现全角半角检测的方法

//全角半角校验 function issbccase(strTmp) { for (var i=0; i 128){ return true; break; } ...

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

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

JS/JQ截取字符串长度的函数处理不同半角全角英文字符功能

// str 截取长度为 len function MySubStr(str,len){ var len2 = len; var str2 = ""; var ch = '';...

区分全角和半角的字符串指定长度截取(或填充)

///         /// 获取制定字符串的前L位字符,注:半角字符只算半个字符         ///         /// 制定的字符串         /// 长度     ...
  • dasihg
  • dasihg
  • 2011年09月16日 11:31
  • 1438

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

New Document                   alert(/^[\x00-\xff]*$/.test("ee"))

js中判断是否字符串是否含有中文

代码如下: //检测是否为中文,true表示是中文,false表示非中文 function isChinese(str){ if(/^[\u32...

最全的JS判断是否为中文的方法

第一种代码:EXFCODE:1functionisChinese(temp) 2{ 3 varre=/[^/u4e00-/u9fa5]/; 4 if(re.test(temp)) returnfals...

中文字符,全角字符的正则表达式

经过测试其中匹配双字节字符(包括汉字在内):[^\x00-\xff]非常好用推荐一下 两外推荐个网址http://mscenter.edu.cn/blog/yongsheng/archive/200...

oracle判断汉字和全角字符的方法

最近由于单位提了一个需求,要判断提供的用户名称里不有全角字符,至少有两个汉字。找了半天,想通过正则表达式来解决,但测试了好久才发现,oracle的正则函数REGEXP_LIKE 不支持“\un 匹配 ...

判断是否URL的正则表达式【Java和javascript】字符串是否包含中文

/**    * 顶级域名判断;如果要忽略大小写,可以直接在传入参数的时候toLowerCase()再做判断    * @param str    * @return    */   pub...
  • liu76xt
  • liu76xt
  • 2015年03月25日 15:43
  • 6448
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:javascript正则表达式判断中文、全角字符及中文长度
举报原因:
原因补充:

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