当前位置: 首页 > news >正文

sqlserver 允许字母、数字、汉字 额外允许字符

现在这个函数可以准确判断字符串是否只包含:

  • 字母(A-Z, a-z)

  • 数字(0-9)

  • 汉字(包括基本汉字和扩展区)

  • 斜杠字符(/

 

CREATE FUNCTION dbo.CheckValidCharactersEx(
@inputString NVARCHAR(MAX),
@extraChars NVARCHAR(50) = NULL -- 额外允许的字符,例如:N'/-_'
)
RETURNS BIT
AS
BEGIN
IF @inputString IS NULL OR LEN(@inputString) = 0
RETURN 1

DECLARE @i INT = 1
DECLARE @len INT = LEN(@inputString)

WHILE @i <= @len
BEGIN
DECLARE @char NCHAR(1) = SUBSTRING(@inputString, @i, 1)
DECLARE @code INT = UNICODE(@char)

-- 快速路径:字母数字
IF (@code BETWEEN 48 AND 57) OR -- 0-9
(@code BETWEEN 65 AND 90) OR -- A-Z
(@code BETWEEN 97 AND 122) -- a-z
BEGIN
SET @i = @i + 1
CONTINUE
END

-- 检查额外允许的字符
IF @extraChars IS NOT NULL AND CHARINDEX(@char, @extraChars) > 0
BEGIN
SET @i = @i + 1
CONTINUE
END

-- 汉字检查(覆盖大部分情况)
IF (@code BETWEEN 19968 AND 40959) OR -- 基本汉字
(@code BETWEEN 13312 AND 19903) OR -- 扩展A
(@code BETWEEN 131072 AND 173791) -- 扩展B
BEGIN
SET @i = @i + 1
CONTINUE
END

-- 如果到达这里,说明有非法字符
RETURN 0
END

RETURN 1
END

http://www.zskr.cn/news/47120.html

相关文章:

  • 博弈论 笔记
  • 2025年数字展厅设计软件口碑推荐榜单
  • 2025年船舶钢格栅生产厂家口碑排行榜单
  • 2025年11月EGUOO护肝片脂肪肝推荐:科学配方三维协同减少堆积修
  • 2025年复合钢格板销售厂家口碑推荐
  • 2025年管链机生产厂家权威推荐榜单:研磨机/管链式输送机/管链输送机源头厂家精选
  • 2025年4位半数显仪表制造商推荐排行榜单
  • 2025年铝包木门窗企业口碑排行榜单
  • react 生命周期函数有哪些?
  • 2025年小型风力发电机厂家联系电话推荐榜单:品质见证,实力领航
  • 2025年防爆汽车窗膜制造厂口碑排行榜
  • linux终端颜色测试shell
  • 2025年天津税收筹划推荐排行榜
  • MySQL/MariaDB NULL 值查询优化:避开索引失效的坑
  • emacs以服务器方式启动
  • 2025agm fpga专业的排行榜单
  • 2025实木复合地板源头厂家哪家靠谱
  • Python3 Pickle 模块详解
  • 2025尼龙地毯生产厂家推荐排行榜单
  • Mysql常问面试题 - 教程
  • 2025年质量好的恩施装修半包本地口碑榜
  • 2025三轮车伸缩雨棚企业推荐榜单
  • 2025年AI营销渠道排行榜
  • 2025年11月EGUOO男士三氨能量推荐:30片便携装随时补充男士能量
  • 《软件需求十步走》读书笔记2
  • 2025年靠谱的胶木球厂家最新TOP实力排行
  • 2025年深孔加工珩磨机厂商排行榜单
  • 2025年大型深孔钻镗床厂家推荐排行
  • 2025大棚遮阳网销售厂家排行
  • 2025年网约车出行平台口碑排行榜