How to not include special characters and numeric characters in JQuery TagIt
How can I show special characters (~! @ # ... etc) and numeric number (0-9) not in a tag when the user enters a value from an input tag? Is it possible to limit special characters and numeric display to plain text? Any help would be appreciated.
<%
ArrayList alTag = new ArrayList();
Vector vTag = new Vector();
String SQL = "SELECT CODE, DESCP FROM TB_FRUIT WITH UR";
TEST.makeConnection();
TEST.executeQuery(SQL);
while(TEST.getNextQuery())
{
Vector vRow = new Vector();
ArrayList alInner = new ArrayList();
String field =TEST.getColumnString("CODE");
String descp =TEST.getColumnString("DESCP");
alInner.add(field);
alInner.add(descp);
alTag.add(alInner);
vTag.addElement(field);
}
TEST.takeDown();
%>
<script>
var dbArray = [<%
String dbCode = "";
String dbList = "";
for(int i=0;i<vTag.size();i++)
{
dbCode = (String) vTag.elementAt(i);
dbList += "\"" + dbCode + "\",";
}
out.print(dbList); %>
];
$(document).ready(function() {
$("#myTags").tagit({
availableTags: dbArray
});
});
</script>
<html>
<body>
<input type="text" id="myTags" name="TYPE">
</body>
</html>
+3
source to share
1 answer
This restricts input to alphabets only
$('#myTags').keypress(function (event) {
var regex = new RegExp("^[a-zA-Z]+$");
var str = String.fromCharCode(!event.charCode ? event.which : event.charCode);
if (!regex.test(str)) {
e.preventDefault();
return false;
}
});
If you are open to the jquery plugin introduction, the easiset path should include [alphanum jquery plugin] and then do
$('#myTags').alpha();
[alphanum jquery plugin]: https://github.com/KevinSheedy/jquery.alphanum
UPDATED:
You can extend the jquery tagit plugin and override the cleared input method as shown below to replace non-alphabets.
$.widget( "ui.tagit", $.ui.tagit, {
_cleanedInput: function() {
var cleanedInput = this.tagInput.val().replace(/[^a-zA-Z0-9\s]+/,"");
return $.trim(cleanedInput.replace(/^"(.*)"$/, '$1'));
}
});
0
source to share