是否可以阻止用户使用textbox
或JQuery
在Javascript
中输入或使用某些特定字词?例如,我有textbox
,我不希望用户使用“ 电话 ”,“ Home < em> ',' 地址 '等请帮忙。
答案 0 :(得分:3)
这可能是一种选择。
> mpirun -np 2 ./fetchAndOpTestF90.x
Rank 0 meldet a = 0
Rank 1 meldet a = 0
forrtl: severe (174): SIGSEGV, segmentation fault occurred
[...]
&#13;
var txtBox = $('#text-box');
var blackList = ['Phone', 'Home', 'Address'];
function checkBlackList(str) {
$.each(blackList, function(i, n) {
if(new RegExp(n, "i").test(str)) {
txtBox.val(txtBox.val().replace(new RegExp(n, "gi"), "xxx"))
}
})
}
txtBox.on('keydown', function(e) {
checkBlackList(this.value);
})
&#13;
答案 1 :(得分:2)
您可以检查字符串是否包含某个单词:
if (yourVariable.indexOf("phone") >= 0){
alert('you may not use the word phone');
}
如果你想要多个单词,你可以创建一个数组并通过它循环。
var words = ['phone', 'home', 'address', 'bobba'];
for (i = 0; i < words.length; i++) {
if (yourVariable.indexOf(words[i]) >= 0){
alert('you may not use the word ' + words[i]);
}
}
当然,您可以将警报更改为您想要的任何内容,例如替换文本:
yourVariable.replace(words[i], 'xxx');
编辑我做了一个小提琴:https://jsfiddle.net/jx8wd1br/1/
答案 2 :(得分:2)
<input type="text" id="txt" />
<script>
$(document).ready(function(){
$("#txt").on("keydown", function(){
var text = $("#txt").val();
if(text.contains("Phone")){
$("#txt").val().replace("Phone", "");
}
if(text.contains("Home")){
$("#txt").val().replace("Home", "");
}
if(text.contains("Address")){
$("#txt").val().replace("Address", "");
}
});
});
</script>
答案 3 :(得分:1)
我的建议基于:
var forbiddenWords = ['Phone', 'Home', 'Address'];
$(function () {
$('#myTxt').on('keyup', function(e) {
forbiddenWords.forEach(function(val, index) {
if (e.target.value.toUpperCase().indexOf(val.toUpperCase()) >= 0) {
e.target.value = e.target.value.replace(new RegExp( "(" + val + ")" , 'gi' ), '');
}
});
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
<input type="text" id="myTxt">
</form>