jquery 字符个数(数字字母长度记为1,中文记为2,超过长度自动截)

<script type="text/javascript"> 
  //返回val的字节长度 
  function getByteLen(val) { 
    var len = 0; 
    for (var i = 0; i < val.length; i++) { 
      if (val[i].match(/[^\x00-\xff]/ig) != null) //全角 
        len += 2; 
      else 
        len += 1; 
      } 
    return len; 
  } 
  //返回val在规定字节长度max内的值 
  function getByteVal(val, max) { 
    var returnValue = ‘‘; 
    var byteValLen = 0; 
    for (var i = 0; i < val.length; i++) { 
      if (val[i].match(/[^\x00-\xff]/ig) != null) 
        byteValLen += 2; 
      else 
        byteValLen += 1; 
      if (byteValLen > max) 
        break; 
      returnValue += val[i]; 
    } 
    return returnValue; 
  } 
  $(function() { 
    var _area = $(‘textarea#txtPrizeNote‘); 
    var _info = _area.next(); 
    var _max = _area.attr(‘maxlength‘); 
    var _val; 
    _area.bind(‘keyup change‘, function() { //绑定keyup和change事件 
      if (_info.find(‘span‘).size() < 1) {//避免每次弹起都会插入一条提示信息 
        _info.append(_max); 
      } 
      _val= $(this).val(); 
      _cur = getByteLen(_val); 
      if (_cur == 0) {//当默认值长度为0时,可输入数为默认maxlength值 
        _info.text(_max); 
      } else if (_cur < _max) {//当默认值小于限制数时,可输入数为max-cur 
        _info.text(_max - _cur); 
      } else {//当默认值大于等于限制数时 
        _info.text(0); 
        $(this).val(getByteVal(_val,_max)); //截取指定字节长度内的值 
      } 
    }); 
  }); 
</script>

时间: 2024-08-05 08:04:07

jquery 字符个数(数字字母长度记为1,中文记为2,超过长度自动截)的相关文章

c++实验5--统计输出字符串中(大/小写)字母个数,数字个数及其它字符个数。

一.问题及代码 /* * 文件名称: * 作 者: 杨楚莛 * 完成日期: 2016 年 5 月 3 日 * 版 本 号:v1.0 * 对任务及求解方法的描述部分:统计输出字符串中(大/小写)字母个数,数字个数及其它字符个数. * 输入描述: * 问题描述: * 程序输出: * 问题分析: * 算法设计: */ #include<iostream> #include<cstdio> using namespace std; int main() { char str[50]; in

在一个字符串中,统计大写字母个数,小写字母个数,其他字符个数的四种算法

题目描述:编写程序,输出字符串中的大写字母.小写小母和其他的个数.如有一个字符串"Helle, This is A test textfile.123456, tannk you!!",则其大写字母个数:3,小写字母个数:29,其他字符个数:18. 这里提供了四种算法,第一种是我们比较好理解的,也属于硬编码问题,其他三种方法要借助JAVA语言的jdk提供的api. 方法一: <!DOCTYPE html> <html lang="en"> &

java小练习:输入一个字符,判断该字符是数字?英文字母?还是其他字符

package practiceGO; import java.util.Scanner; /*  * 3.输入一个字符,判断该字符是数字?英文字母?还是其他字符  */ public class Cto { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("输入一个字符:"); char ch = sc.next().charAt(0);

java代码验证用户名,支持中英文(包括全角字符)、数字、下划线和减号 (全角及汉字算两位),长度为4-20位,中文按二位计数

package com.sangedabuliu.www; import java.util.regex.Matcher; import java.util.regex.Pattern; public class UserReg { /** * 验证用户名,支持中英文(包括全角字符).数字.下划线和减号 (全角及汉字算两位),长度为4-20位,中文按二位计数 * @author www.sangedabuliu.com * @param userName * @return */ public

实现:EDIT控件字符个数与长度的计算

void CtestDlg::OnBnClickedButton1() { CString str; int count = 0; int length = 0; GetDlgItemText(IDC_EDIT_1, str); length = str.GetLength(); //得到了字符的长度 for (int i = 0; i < length; i++) { if ((byte)str[i] > 0x7F) { //判断单字符是否大于十进制127 是的话那么为中文字符 i++; }

Java中如何判断一个字符是否是字母或数字

使用Java中Character类的静态方法: Character.isDigit(char c) //判断字符c是否是数字字符,如‘1’,‘2’,是则返回true,否则返回false   Character.isLowerCase(char c) || Character.isUpperCase(char c) //判断c是否是字母字符,前面LowerCase是小写,后面UpperCase是大写,是返回True,否则返回False Character.isLetterOrDigit(char

华为初级——字符个数统计(三种情况)

第一种情况: 描述:写出一个程序,接受一个有字母和数字组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数.不区分大小写. 知识点:字符串,函数,指针   题目来源:内部整理   练习阶段:初级   运行时间限制:10Sec  内存限制:128MByte  输入:输入一个有字母和数字组成的字符串,和一个字符.   输出:输出输入字符串中含有该字符的个数.  样例输入: ABCDEF A                    样例输出: 1 源程序: #include<iostream>

计算字符个数(回顾正则用法)

题目 写出一个程序,接受一个由字母和数字组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数.不区分大小写. 输入描述: 第一行输入一个有字母和数字以及空格组成的字符串,第二行输入一个字符. 输出描述: 输出输入字符串中含有该字符的个数. eg: 输入 ABCDEF A 输出 复制 1 解析 难度比较简单,复习一下正则表达式: let str = readline(); let char = readline(); function matchChar(str, char) { let

7 判断输入字符个数

题目:输入一行字符,分别统计出其中英文字母.空格.数字和其它字符的个数. 1 public class _007CountStringAll { 2 3 public static void main(String[] args) { 4 printCount(); 5 } 6 7 private static void printCount() { 8 while (true) { 9 Scanner scanner = new Scanner(System.in); 10 System.ou