JS宏学习笔记1-纯数字检查

对输入的数据做内容检查保证使其为纯数字
案例代码

function 计算编号() {
var sz = new Array();
	sz[0] = InputBox("请输入打印份数", "提示");
    if(checkBox(sz[0])) return;
    sz[1] = InputBox("请输入起始编号", "提示");
	if(checkBox(sz[1])) return;
}

InputBox函数会获取输入内容,函数语法如下

InputBox(Prompt, [Title], [Default], [XPos], [YPos])

参数说明:

Prompt(必要):开发者想要显示在对话框中的提示文本,可以是一个字符串表达式,一般为一条简短的消息,用于提示用户输入。
Title(可选):对话框的标题,通常显示在对话框的标题栏中,可以是一个字符串表达式。如果省略此参数,将会显示默认程序名称WPS表格。
Default(可选):用户输入时存在输入框的默认值,可以是一个字符串表达式。如果用户点击"确定",将返回此默认值,点击"取消",将返回空字符。如果省略了 Default ,文本框将显示为空。

XPos(可选):指定对话框左边缘与屏幕的左边缘的水平距离(单位缇)的数值表达式。 如果省略了 xpos,对话框将水平居中。

YPos(可选):指定对话框上边缘与屏幕的上边缘的垂直距离(单位缇)的数值表达式。 如果省略了 ypos,对话框将垂直居中。

function checkBox(userInput){
    // 使用正则表达式匹配字符串内的非数字字符
    if( !/^\d+$/.test(userInput)){
        MsgBox("输入错误,取消输入或输入了非数字字符", 0+48, "警告");
        return true;
    } else {
        // 先移除字符串中所有的空格,然后将其转换为数字
        var numberInput = Number(userInput.replace(/\s/g, ''));
        if(numberInput < 1){
            MsgBox("输入错误,输入数字大小至少为1", 0+48, "警告");
            return true;
        }
    }
    return false;
}

checkBox获取用户输入传递的值之后,会使用2个正则表达式匹配 输入内容,然后返回一个布尔值,告知主函数程序是否运行。

 /^\d+$/:这个正则表达式会匹配字符串,从开始(^)到结束($)是否完全由一个或多个数字(\d+)组成。然后用.test()方法检查userInput是否匹配正则表达式,即是否为纯数字构成(不会排除空字符),是纯数字返回ture,反之返回flase,然后使用!取反值。

.replace(/\s/g, ''): 表示使用正则表达式发现字符串中的所有空白字符,第一个/表示表达式开始,\s表示匹配包括空格、制表符、换页符等在内的任何空白符,第2个/表示表达式结束。g是一个标志,代表“全局”匹配,意味着匹配字符串中所有可能的地方,而不只是第一个。.replace()并将它们替换为无,即删除。

Number会将字符串类型的数字转换为数值型

MsgBox函数和InputBox类似,函数语法如下

InputBox(Prompt, [Buttons], [Title])

Prompt(必要):开发者想要显示在消息框中的提示文本,可以是一个字符串表达式,一般为一条简短的消息,用于通知用户。

Buttons(可选): 数值表达式,用于指定要显示按钮的数量和类型、使用的图标样式、默认按钮的标识和消息框的形式的值(JSMsgBoxStyle)。 如果省略,则 buttons 的默认值为 0。

Title(可选):对话框的标题,通常显示在对话框的标题栏中,可以是一个字符串表达式。如果省略此参数,将会显示默认程序名称WPS表格。

用户对MsgBox弹出消息框的各种动作都有对应的返回值,此外,Buttons不同的值(JSMsgBoxStyle)代表不同的消息框样式,内容参考下面的连接

https://blog.csdn.net/chuangxin/article/details/130183249

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值