更改输入文本字段的颜色不工作
Change color of input text field not working
我不确定我可能做错了什么,但为什么当我在网站https://regex101.com/#javascript上测试正则表达式/^['d{9}]*$/
时,如果它是一个数字与否,它会正确匹配,但是当我在JavaScript上应用RegEx时,它不能正常工作?我的意思是,它只显示数字或字符的红色。绿色代表数字,红色代表字符。HTML:
<input type="text" name="age" id="msisdn" onKeyUp="checkKey()">
JavaScript: function checkKey() {
var msisdn = document.getElementById("msisdn");
if (msisdn.value == /^['d{9}]*$/) {
msisdn.style.color = "#00b300";
} else {
msisdn.style.color = "#ff0000";
}
}
fiddler上的代码
if(msisdn.value == /^'d{9}$/) {
将比较输入值(字符串)与RegExp对象,该对象将始终返回false
。
使用RegExp#test
if(/^'d{9}$/.test(msisdn.value)) {
更新小提琴
这是最短的等效代码msisdn.style.color = /^'d{9}$/.test(document.getElementById("msisdn").value)
? "#00b300"
: "#f00";
小提琴
JavaScript不需要只是改变文本的颜色,当它不遵循正则表达式,HTML &可以使用CSS。HTML5的pattern
属性可以在<input>
上使用,:valid
和:invalid
伪选择器可以在CSS中使用。
input:invalid {
color: #f00;
}
input:valid {
color: #00b300;
}
<input type="text" id="msisdn" name="plaintext" pattern="'d{9}">
相关文章:
- 如何在php中创建一个函数,该函数与文本区域一起工作,通过输入类似[color:red]的内容来打印具有等效颜色的文本
- JS-颜色选择器只有第一个工作
- 取消光谱颜色选择器不工作
- JavaScript DOM 更改背景颜色未按预期工作
- jQuery每5个工作小时重置一次颜色模式
- 这个颜色函数是如何工作的
- JustGage 中的自定义颜色无法正常工作
- 在javascript而不是CSS(悬停)中更改链接颜色---在jsfiddle而不是浏览器中工作
- Gulp/Grunt 获取触笔工作表中的所有颜色变量,并将它们作为变量定义写入文件
- JS点击功能不再工作以更改链接颜色
- 通过库转换颜色无法正常工作
- 使用jquery在悬停时更改背景颜色无法正常工作
- 颜色盗贼不会工作…
- 颜色框代码在Umbraco外部工作,但在内部不工作
- Highmaps最小/最大颜色未按预期工作
- JQuery背景颜色更改(.animate或.css)在重新启动后只能工作一次
- 点击改变星星的颜色-为什么不;t这项工作
- 使用jquery更改纯HTML Slider Thumb颜色(包括工作css)
- jQuery改变背景颜色不工作
- 非html5 JavaScript RGB颜色选择器是如何工作的