欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js正則校驗(yàn)特殊的不可見(jiàn)字符的具體實(shí)現(xiàn)

 更新時(shí)間:2024年06月25日 11:10:19   作者:Charonmomo  
用戶可能從Excel或者其他地方直接復(fù)制粘貼,這時(shí)候提交到后端會(huì)導(dǎo)致獲取的用戶輸入中包含一些特殊的不可見(jiàn)字符,本文主要介紹了js正則校驗(yàn)特殊的不可見(jiàn)字符的具體實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下

背景

表單的輸入框,用戶可能從Excel或者其他地方直接復(fù)制粘貼,這時(shí)候提交到后端會(huì)導(dǎo)致獲取的用戶輸入中包含一些特殊的不可見(jiàn)字符,比如tab鍵或者制表符等,這時(shí)需要在前端對(duì)用戶輸入做一些檢驗(yàn),檢查是否存在不可見(jiàn)字符。

方法

ASCII 編碼中第 0~31 個(gè)字符(開(kāi)頭的 32 個(gè)字符)以及第 127
個(gè)字符(最后一個(gè)字符)都是不可見(jiàn)的(無(wú)法顯示),但是它們都具有一些特殊功能,所以稱(chēng)為控制字符( Control
Character)或者功能碼(Function Code)。

ASCII 碼關(guān)鍵部分的信息如下圖:

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

注意這里 0~31 及127字符 是控制字符(不可見(jiàn)字符),我們可以在正則中通過(guò)校驗(yàn)是否包含這些字符的16進(jìn)制來(lái)判斷是否含有特殊字符。

關(guān)于這些控制字符的詳細(xì)含義可以參考:ASCII控制字符的解釋

完整的 ASCII 碼表:

在這里插入圖片描述

校驗(yàn)

在線正則校驗(yàn)工具:正則表達(dá)式在線測(cè)試

一串簡(jiǎn)單的測(cè)試文本:

ABC1823中文0456def$%#?.            mMo

1. 校驗(yàn)是否含有特殊的不可見(jiàn)字符
只要有一個(gè)不可見(jiàn)字符就會(huì)報(bào)錯(cuò)

[\x00-\x1F\x7F]

注意這里是兩個(gè)0,采用 \x0-\x1F\x7F 這種格式是錯(cuò)誤的,沒(méi)法進(jìn)行正常的校驗(yàn)。

在這里插入圖片描述

2. 檢驗(yàn)是否含有不可見(jiàn)字符

[^\x00-\x1F\x7F]+

注意這里 ^ 的位置不要寫(xiě)在外面,外面表示以什么開(kāi)頭

在這里插入圖片描述

代碼

import React,{useState} from "react";
import {Input,message} from "antd";

const RegTestInput = function(){
	
	const testValue = (e) => {
		const { value } = e.target;
		if(value) {
			const reg = /[\x00-\x1f\x7f]/
			if(reg.test(value)){
				message.error("不允許包含特殊字符")
			}
		}
	}
	
	return (
		<div>
			<Input onChange={testValue} />
		</div>
	)
}

到此這篇關(guān)于js正則校驗(yàn)特殊的不可見(jiàn)字符的文章就介紹到這了,更多相關(guān)js正則校驗(yàn)不可見(jiàn)字符內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

最新評(píng)論