博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
前后台验证字符串长度
阅读量:4311 次
发布时间:2019-06-06

本文共 4257 字,大约阅读时间需要 14 分钟。

 

针对前台脚本验证的几种方式

1、

$("form").submit(function () {    var content = editor.getContentTxt();    var sum = 0;    re = /[\u4E00-\u9FA5]/g;  //测试中文字符的正则    if (content) {        if (re.test(content))        //使用正则判断是否存在中文        {            if (content.match(re).length <= 10) {  //返回中文的个数                $.dialog.tips("正文不能小于10个汉字!");                return false;            }            else {                var $submit = $("input[type='submit']").attr("disabled", true);                setTimeout(function () { $submit.attr("disabled", false) }, 5000);                return true;            }        }        else {            $.dialog.tips("正文不能小于10个汉字!");            return false;        }    }    else {        $.dialog.tips("正文不能小于10个汉字!");        return false;    }});

2、针对获取内容字符串的长度,也可以分开来写,汉子和字符

//获取字符串长度(汉字算两个字符,字母数字算一个)    function getByteLen(val) {        var len = 0;        for (var i = 0; i < val.length; i++) {            var a = val.charAt(i);            if (a.match(/[^\x00-\xff]/ig) != null) {                len += 2;            }            else {                len += 1;            }        }        return len;    }

3、键盘字符验证

// 只要键盘一抬起就验证编辑框中的文字长度,最大字符长度可以根据需要设定    function checkLength(obj) {        var maxChars = 100;//最多字符数        var curr = maxChars - getByteLen(obj.value);        if (curr < 10) {            document.getElementById("checklen").innerHTML = curr.toString();        }        if (curr > 0) {            document.getElementById("checklen").innerHTML = curr.toString();        } else {            document.getElementById("checklen").innerHTML = '0';            document.getElementById("subject").readOnly = true;        }    }

 

针对后台脚本验证的几种方式

1、只验证汉字的方法

///         /// 计算字符串长度,只校验汉字        ///         ///         /// 
public static int ChineseLen(string str) { if (string.IsNullOrEmpty(str)) return 0; Regex regex = new Regex("[\u4e00-\u9fa5]+", RegexOptions.Compiled); char[] stringChar = str.Trim().ToCharArray(); StringBuilder sb = new StringBuilder(); int nLength = 0; for (int i = 0; i < stringChar.Length; i++) { if (regex.IsMatch((stringChar[i]).ToString()) || (stringChar[i] > 255)) { nLength += 2; } } return nLength; }

2、包括中文、字母和数字

///         /// 计算字符串长度,中文按照2个字节算,字母和数字按照1个字节算        ///         ///         /// 
public static int Len(string str) { if (string.IsNullOrEmpty(str)) return 0; Regex regex = new Regex("[\u4e00-\u9fa5]+", RegexOptions.Compiled); char[] stringChar = str.Trim().ToCharArray(); StringBuilder sb = new StringBuilder(); int nLength = 0; for (int i = 0; i < stringChar.Length; i++) { if (regex.IsMatch((stringChar[i]).ToString()) || (stringChar[i] > 255)) { nLength += 2; } else { nLength = nLength + 1; } } return nLength; }

3、检查同一个字符串中,不相同字符的个数

///         /// 检查同一个字符串中不相同字符的个数        ///         ///         /// 
public static int CheckStringChar(string Str) { string newStr = ""; char oldChar = '_'; for (int i = 0; i < Str.Length; i++) { if (oldChar != Str[i]) { oldChar = Str[i]; newStr += Str[i]; } } return newStr.Length; }

4、检测字符串中含有中文字符串的的实际长度

///         /// 检测含有中文字符串的实际长度        ///         /// 要检测的字符串        /// 
返回结果长度
public static int GetChineseStringLength(string str) { int chineseLength = 0; byte[] b = System.Text.ASCIIEncoding.ASCII.GetBytes(str); for (int i = 0; i < b.Length; i++) { if (b[i] == 63) { chineseLength++; } chineseLength++; } return chineseLength; }

 

转载于:https://www.cnblogs.com/zhangpengnike/p/6053706.html

你可能感兴趣的文章
成为java高手的25个目标
查看>>
200道物理学难题——001 三只蜗牛
查看>>
构建App首页
查看>>
BZOJ1443: [JSOI2009]游戏Game
查看>>
zookeeper客户端Watcher管理
查看>>
第二代蜂窝移动通信系统概述
查看>>
[转载] IOS 自动布局--先进的自动布局工具箱
查看>>
Matrix的一些知识
查看>>
sqlserver数据库中没有维护计划,使用windows默认的计划任务实现数据备份
查看>>
python __future__ 使用
查看>>
OpenGL4.6+vs2017+CMake+Glad+Glfw-3.2.1+GLM随手记一发完整版OpenGL配置过程
查看>>
第15周个人进度条
查看>>
Vue学习笔记:methods、computed、watch的区别
查看>>
朴素贝叶斯新闻分类,新浪SAE碰到的问题
查看>>
day19 Python super()
查看>>
JavaEE
查看>>
【BZOJ 4059】 (分治暴力|扫描线+线段树)
查看>>
反编译Silverlight项目
查看>>
BZOJ 1066 蜥蜴(网络流)
查看>>
提高批量插入数据的方法
查看>>