using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using System.Globalization;
|
using UnityEngine;
|
using UnityEngine.UI;
|
namespace vnxbqy.UI
|
{
|
[RequireComponent(typeof(InputField))]
|
public class InputSpecialWordLimit : MonoBehaviour
|
{
|
[SerializeField, Header("是否限制空格")] bool m_SpaceLimit = false;
|
private void Awake()
|
{
|
var _input = GetComponent<InputField>();
|
_input.onValidateInput = OnValidateInput;
|
}
|
|
private char OnValidateInput(string text, int charIndex, char addedChar)
|
{
|
if (char.GetUnicodeCategory(addedChar) == UnicodeCategory.Surrogate
|
|| char.GetUnicodeCategory(addedChar) == UnicodeCategory.OtherSymbol
|
|| char.GetUnicodeCategory(addedChar) == UnicodeCategory.OtherNumber
|
|| char.GetUnicodeCategory(addedChar) == UnicodeCategory.MathSymbol
|
|| char.GetUnicodeCategory(addedChar) == UnicodeCategory.OtherNotAssigned
|
|| addedChar == '\n')
|
{
|
return (char)0;
|
}
|
if (m_SpaceLimit)
|
{
|
if (addedChar == ' '
|
|| addedChar == ' '
|
|| char.GetUnicodeCategory(addedChar) == UnicodeCategory.SpaceSeparator)
|
{
|
return (char)0;
|
}
|
}
|
return addedChar;
|
}
|
}
|
}
|