input文本框前几个字符为默认字符,禁止修改

2018 年 7 月 13 日 0 条评论 4.87k 次阅读 0 人点赞

实现input文本框中默认前几个字符固定不能修改,例如类似电信的无线网络的名称,前9个字符必须为
ChinaNet-,后面可以自定义输入。

首先在HTML中设置value="默认值"

<input maxlength="16" type="text" id="wifiName" name="wifiName" value="ChinaNet-">

JavaScript中代码如下:

var textField = document.getElementById("wifiName"), //获取表单域
    startText = textField.value; //获取开头字符串

    textField.onkeyup = function () {
        //如果不是以startText的默认值(ChinaNet-)开头的,就把文本框内的值设为startText
        (textField.value.indexOf(startText) === 0) || (textField.value = startText);
        
        //从第9位开始截取输入的内容,判断输入的是否是全英文
        var stmpRoleName = textField.value.slice(9);
        var re = new RegExp("^[a-zA-Z]+$");
        if (!re.test(stmpRoleName)) {
            textField.value = startText;
        }


    };

雷雷

这个人太懒什么东西都没留下

文章评论(0)

(Spamcheck Enabled)