Javascript 将正则表达式“放入”&引用;关于文本框的按键
嗨,我有一个按键的Javascript代码,我想把“.”和数字放在文本框中。我会写数字,但不会“.”。我有Javascript和HTMl,还有Fiddle链接。有人能帮我吗Javascript 将正则表达式“放入”&引用;关于文本框的按键,javascript,regex,events,keypress,Javascript,Regex,Events,Keypress,嗨,我有一个按键的Javascript代码,我想把“.”和数字放在文本框中。我会写数字,但不会“.”。我有Javascript和HTMl,还有Fiddle链接。有人能帮我吗 <script> var aa_zChar = new Array(' '); var aa_maxphonelength = 8; var aa_phonevalue1; var aa_phonevalue2; var aa_cursorposition; fun
<script>
var aa_zChar = new Array(' ');
var aa_maxphonelength = 8;
var aa_phonevalue1;
var aa_phonevalue2;
var aa_cursorposition;
function aa_ParseForNumber1(object){
aa_phonevalue1 = aa_ParseChar(object.value, aa_zChar);
}
function a_ParseForNumber2(object){
aa_phonevalue2 = aa_ParseChar(object.value, aa_zChar);
}
function aa_up(object,e) {
if(e){
e = e
} else {
e = window.event
}
if(e.which){
var keycode = e.which
} else {
var keycode = e.keyCode
}
aa_ParseForNumber1(object)
aa_ValidatePhone(object)
}
function aa_down(object,e) {
if(e){
e = e
} else {
e = window.event
}
if(e.which){
var keycode = e.which
} else {
var keycode = e.keyCode
}
aa_ParseForNumber2(object)
}
function aa_ValidatePhone(object){
var p = aa_phonevalue1
p = p.replace(/[^\d]*/gi,"")
object.value=p
}
function aa_ParseChar(sStr, sChar)
{
if (sChar.length == null)
{
aa_zChar = new Array(sChar);
}
else aa_zChar = sChar;
for (i=0; i<aa_zChar.length; i++)
{
sNewStr = "";
var iStart = 0;
var iEnd = sStr.indexOf(sChar[i]);
while (iEnd != -1)
{
sNewStr += sStr.substring(iStart, iEnd);
iStart = iEnd + 1;
iEnd = sStr.indexOf(sChar[i], iStart);
}
sNewStr += sStr.substring(sStr.lastIndexOf(sChar[i]) + 1, sStr.length);
sStr = sNewStr;
}
return sNewStr;
}
</script>
var aazchar=新数组(“”);
var aa_maxphonelength=8;
var aa_phonevalue1;
var aa_phonevalue2;
var aa_光标位置;
函数aa_ParseForNumber1(对象){
aa_phonevalue1=aa_ParseChar(object.value,aa_zChar);
}
函数a_ParseForNumber2(对象){
aa_phonevalue2=aa_ParseChar(object.value,aa_zChar);
}
函数aa_up(object,e){
如果(e){
e=e
}否则{
e=窗口事件
}
如果(e.which){
var keycode=e
}否则{
var keycode=e.keycode
}
aa_ParseForNumber1(对象)
aa_验证电话(对象)
}
函数aa_down(object,e){
如果(e){
e=e
}否则{
e=窗口事件
}
如果(e.which){
var keycode=e
}否则{
var keycode=e.keycode
}
aa_ParseForNumber2(对象)
}
功能aa_验证电话(对象){
var p=aa_phonevalue1
p=p.replace(/[^\d]*/gi,”)
object.value=p
}
函数aa_ParseChar(sStr,sChar)
{
if(sChar.length==null)
{
aazchar=新阵列(sChar);
}
否则aazchar=sChar;
对于(i=0;i几乎在那里。您只需更改正则表达式,使其接受带数字的
。
正确的正则表达式之一是/[^\d.]/gi
一个盲目的答案是将/[^\d]*/gi
更改为/[^\d.]*/gi
(尽管最后的i实际上是多余的)。但是,代码似乎是以电话号码的形式读取的?不,它不是电话号码格式。实际上我没有更改变量。这是因为您不需要在
内转义[]
。
<input name="name" type="text" maxlength="100" id="name" value="" onKeyDown="aa_down(this,event);" onKeyUp="aa_up(this,event);" />