util-helpers
Version:
25 lines (24 loc) • 1.27 kB
TypeScript
type CalculateCursorPositionOptions = {
placeholderChar?: string | string[];
maskReg?: RegExp;
type?: 'mobile' | 'bankCard';
};
/**
* 计算输入框的值格式化后光标位置
*
* @alias module:Other.calculateCursorPosition
* @since 4.6.0
* @see {@link https://2950v9.csb.app/ h5示例}
* @see {@link https://33ccy9.csb.app/ react示例}
* @param {number} prevPos 赋值前的光标位置,onChange/onInput的光标位置 e.target.selectionEnd
* @param {string} prevCtrlValue 上一个格式化后的值
* @param {string} rawValue 当前输入原值
* @param {string} ctrlValue 当前格式化后的值
* @param {Object} [options] 配置项
* @param {string|string[]} [options.placeholderChar=' '] 占位符,默认`' '`
* @param {RegExp} [options.maskReg=/\D/g] 需要遮盖的字符规则。默认`/\D/g` 去掉非数字,意味着 ctrlValue 需要去掉非数字。
* @param {'mobile'|'bankCard'} [options.type] 格式化类型,内置手机号码和银行卡号特殊处理
* @returns {number} 格式化后的光标位置
*/
declare function calculateCursorPosition(prevPos: number, prevCtrlValue: string, rawValue: string, ctrlValue: string, options?: CalculateCursorPositionOptions): number;
export default calculateCursorPosition;